@@ -139,5 +139,43 @@ public void Test9()
139139 Assert . AreEqual ( "dd=ss" , txt . Substring ( t3 . Start , t3 . End - t3 . Start + 1 ) ) ;
140140 Assert . AreEqual ( "[tt]==22" , txt . Substring ( t4 . Start , t4 . End - t4 . Start + 1 ) ) ;
141141 }
142- }
142+
143+
144+ [ Test ]
145+ public void Test10 ( )
146+ {
147+ string txt = "AA && (dd=ss || [tt]==22)" ;
148+ var tree = ConditionTree . Parse ( txt ) ;
149+
150+ Assert . AreEqual ( tree . Type , ConditionTreeType . And ) ;
151+ var t1 = tree . Nodes [ 0 ] ;
152+ var t2 = tree . Nodes [ 1 ] ;
153+ Assert . AreEqual ( t2 . Type , ConditionTreeType . Or ) ;
154+ var t3 = t2 . Nodes [ 0 ] ;
155+ var t4 = t2 . Nodes [ 1 ] ;
156+
157+ Assert . AreEqual ( "AA" , txt . Substring ( t1 . Start , t1 . End - t1 . Start + 1 ) ) ;
158+ Assert . AreEqual ( "dd=ss" , txt . Substring ( t3 . Start , t3 . End - t3 . Start + 1 ) ) ;
159+ Assert . AreEqual ( "[tt]==22" , txt . Substring ( t4 . Start , t4 . End - t4 . Start + 1 ) ) ;
160+ }
161+
162+
163+ [ Test ]
164+ public void Test11 ( )
165+ {
166+ string txt = "1 && (dd=ss || [tt]==22)" ;
167+ var tree = ConditionTree . Parse ( txt ) ;
168+
169+ Assert . AreEqual ( tree . Type , ConditionTreeType . And ) ;
170+ var t1 = tree . Nodes [ 0 ] ;
171+ var t2 = tree . Nodes [ 1 ] ;
172+ Assert . AreEqual ( t2 . Type , ConditionTreeType . Or ) ;
173+ var t3 = t2 . Nodes [ 0 ] ;
174+ var t4 = t2 . Nodes [ 1 ] ;
175+
176+ Assert . AreEqual ( "1" , txt . Substring ( t1 . Start , t1 . End - t1 . Start + 1 ) ) ;
177+ Assert . AreEqual ( "dd=ss" , txt . Substring ( t3 . Start , t3 . End - t3 . Start + 1 ) ) ;
178+ Assert . AreEqual ( "[tt]==22" , txt . Substring ( t4 . Start , t4 . End - t4 . Start + 1 ) ) ;
179+ }
180+ }
143181}
0 commit comments