@@ -9,6 +9,10 @@ public class TokenReaderTest
99 {
1010 [ Theory ]
1111 [ InlineData ( "" , Token . None ) ]
12+ [ InlineData ( " " , Token . None ) ]
13+ [ InlineData ( "\t " , Token . None ) ]
14+ [ InlineData ( "\n " , Token . None ) ]
15+ [ InlineData ( " \t \n " , Token . None ) ]
1216 [ InlineData ( "0" , Token . Number ) ]
1317 [ InlineData ( "1" , Token . Number ) ]
1418 [ InlineData ( "0x0" , Token . Number ) ]
@@ -25,11 +29,44 @@ public class TokenReaderTest
2529 [ InlineData ( "]" , Token . CloseBrackets ) ]
2630 [ InlineData ( "," , Token . Comma ) ]
2731 [ InlineData ( "<test.exe>" , Token . Identifier ) ]
28- public void ReadBasicToken ( string formula , Token type )
32+ public void TestTokenType ( string expression , Token type )
2933 {
30- var tokenizer = new Tokenizer ( new StringReader ( formula ) ) ;
34+ var tokenizer = new Tokenizer ( new StringReader ( expression ) ) ;
3135
3236 Check . That ( tokenizer . Token ) . IsEqualTo ( type ) ;
3337 }
38+
39+ [ Theory ]
40+ [ InlineData ( "0" , 0 ) ]
41+ [ InlineData ( "1" , 1 ) ]
42+ [ InlineData ( "0x0" , 0 ) ]
43+ [ InlineData ( "0x1" , 1 ) ]
44+ [ InlineData ( "00000000" , 0 ) ]
45+ [ InlineData ( "0x00000000" , 0 ) ]
46+ [ InlineData ( "12345678" , 0x12345678 ) ]
47+ [ InlineData ( "0x12345678" , 0x12345678 ) ]
48+ public void TestNumberValue ( string expression , long value )
49+ {
50+ var tokenizer = new Tokenizer ( new StringReader ( expression ) ) ;
51+
52+ Check . That ( tokenizer . Number ) . IsEqualTo ( value ) ;
53+ }
54+
55+ [ Theory ]
56+ [ InlineData ( "<>" , "" ) ]
57+ [ InlineData ( "<test>" , "test" ) ]
58+ [ InlineData ( "<module.test>" , "module.test" ) ]
59+ public void TestIdentifierValue ( string expression , string value )
60+ {
61+ var tokenizer = new Tokenizer ( new StringReader ( expression ) ) ;
62+
63+ Check . That ( tokenizer . Identifier ) . IsEqualTo ( value ) ;
64+ }
65+
66+ [ Fact ]
67+ public void TestInvalidIdentifier ( )
68+ {
69+ Assert . Throws < ParseException > ( ( ) => new Tokenizer ( new StringReader ( "<" ) ) ) ;
70+ }
3471 }
3572}
0 commit comments