@@ -36,6 +36,36 @@ public class ParserTests
36
36
[ TestCase ( "!false and !true" , ExpectedResult = false ) ]
37
37
[ TestCase ( "false and true and true" , ExpectedResult = false ) ]
38
38
[ TestCase ( "false or true or false" , ExpectedResult = true ) ]
39
+ [ TestCase ( "true" , ExpectedResult = true ) ]
40
+ [ TestCase ( ")" , ExpectedException = ( typeof ( Exception ) ) ) ]
41
+ [ TestCase ( "az" , ExpectedException = ( typeof ( Exception ) ) ) ]
42
+ [ TestCase ( "" , ExpectedException = ( typeof ( Exception ) ) ) ]
43
+ [ TestCase ( "()" , ExpectedException = typeof ( Exception ) ) ]
44
+ [ TestCase ( "true&" , ExpectedException = typeof ( Exception ) ) ]
45
+ [ TestCase ( "false" , ExpectedResult = false ) ]
46
+ [ TestCase ( "true " , ExpectedResult = true ) ]
47
+ [ TestCase ( "false " , ExpectedResult = false ) ]
48
+ [ TestCase ( " true" , ExpectedResult = true ) ]
49
+ [ TestCase ( " false" , ExpectedResult = false ) ]
50
+ [ TestCase ( " true " , ExpectedResult = true ) ]
51
+ [ TestCase ( " false " , ExpectedResult = false ) ]
52
+ [ TestCase ( "(false)" , ExpectedResult = false ) ]
53
+ [ TestCase ( "(true)" , ExpectedResult = true ) ]
54
+ [ TestCase ( "true&false" , ExpectedResult = false ) ]
55
+ [ TestCase ( "false&true" , ExpectedResult = false ) ]
56
+ [ TestCase ( "false&false" , ExpectedResult = false ) ]
57
+ [ TestCase ( "true&true" , ExpectedResult = true ) ]
58
+ [ TestCase ( "!true" , ExpectedResult = false ) ]
59
+ [ TestCase ( "!(true)" , ExpectedResult = false ) ]
60
+ [ TestCase ( "!(true" , ExpectedException = typeof ( Exception ) ) ]
61
+ [ TestCase ( "!(!(true))" , ExpectedResult = true ) ]
62
+ [ TestCase ( "!false" , ExpectedResult = true ) ]
63
+ [ TestCase ( "!(false)" , ExpectedResult = true ) ]
64
+ [ TestCase ( "(!(false))&(!(true))" , ExpectedResult = false ) ]
65
+ [ TestCase ( "!((!(false))&(!(true)))" , ExpectedResult = true ) ]
66
+ [ TestCase ( "!false&!true" , ExpectedResult = false ) ]
67
+ [ TestCase ( "false&true&true" , ExpectedResult = false ) ]
68
+ [ TestCase ( "false|true|false" , ExpectedResult = true ) ]
39
69
public bool CanParseSingleToken ( string expression )
40
70
{
41
71
var tokens = new Tokenizer ( expression ) . Tokenize ( ) ;
0 commit comments