@@ -10,7 +10,7 @@ namespace Silk.NET.SilkTouch.Scraper.Tests;
10
10
public class NamespaceScrapingTests
11
11
{
12
12
[ Fact ]
13
- public void NamespaceXMLGeneratesNamespaceSymbol ( )
13
+ public void NamespaceSymbol ( )
14
14
{
15
15
var doc = new XmlDocument ( ) ;
16
16
doc . LoadXml ( @"<bindings>
@@ -25,4 +25,49 @@ public void NamespaceXMLGeneratesNamespaceSymbol()
25
25
var @namespace = Assert . IsType < NamespaceSymbol > ( symbol ) ;
26
26
Assert . Equal ( ClangScraper . LibraryNamespacePlaceholder , @namespace . Identifier . Value ) ;
27
27
}
28
+
29
+ [ Fact ]
30
+ public void NamespaceMember ( )
31
+ {
32
+ var doc = new XmlDocument ( ) ;
33
+ doc . LoadXml ( @"<bindings>
34
+ <namespace name=""" + ClangScraper . LibraryNamespacePlaceholder + @""">
35
+ <struct name=""Test"">
36
+ </struct>
37
+ </namespace>
38
+ </bindings>
39
+ " ) ;
40
+
41
+ var symbols = new ClangScraper ( ) . ScrapeXML ( doc ) ;
42
+
43
+ var symbol = Assert . Single ( symbols ) ;
44
+ var @namespace = Assert . IsType < NamespaceSymbol > ( symbol ) ;
45
+ var structSymbol = Assert . Single ( @namespace . Types ) ;
46
+ var @struct = Assert . IsType < StructSymbol > ( structSymbol ) ;
47
+ Assert . Equal ( "Test" , @struct . Identifier . Value ) ;
48
+ }
49
+
50
+
51
+ [ Fact ]
52
+ public void MultipleNamespaceMembers ( )
53
+ {
54
+ var doc = new XmlDocument ( ) ;
55
+ doc . LoadXml ( @"<bindings>
56
+ <namespace name=""" + ClangScraper . LibraryNamespacePlaceholder + @""">
57
+ <struct name=""Test1"">
58
+ </struct>
59
+ <struct name=""Test2"">
60
+ </struct>
61
+ </namespace>
62
+ </bindings>
63
+ " ) ;
64
+
65
+ var symbols = new ClangScraper ( ) . ScrapeXML ( doc ) ;
66
+
67
+ var symbol = Assert . Single ( symbols ) ;
68
+ var @namespace = Assert . IsType < NamespaceSymbol > ( symbol ) ;
69
+ Assert . Collection ( @namespace . Types ,
70
+ ( s ) => Assert . Equal ( "Test1" , Assert . IsType < StructSymbol > ( s ) . Identifier . Value ) ,
71
+ ( s ) => Assert . Equal ( "Test2" , Assert . IsType < StructSymbol > ( s ) . Identifier . Value ) ) ;
72
+ }
28
73
}
0 commit comments