Change logical ops names, add tests, general code cleanup
Changed the op names to and or not exc(ept) Added more test-cases Cleanup up the Selectors code Code should be ready for merging now
This commit is contained in:
@ -338,6 +338,10 @@ class TestCQSelectors(BaseTest):
|
||||
# test 'and' (intersection) operator
|
||||
el = c.edges(S('|X') & BS((-2,-2,0.1), (2,2,2))).vals()
|
||||
self.assertEqual(2, len(el))
|
||||
|
||||
# test using extended string syntax
|
||||
v = c.vertices(">X and >Y").vals()
|
||||
self.assertEqual(2, len(v))
|
||||
|
||||
def testSumSelector(self):
|
||||
c = CQ(makeUnitCube())
|
||||
@ -356,14 +360,10 @@ class TestCQSelectors(BaseTest):
|
||||
self.assertEqual(8, len(el))
|
||||
|
||||
# test using extended string syntax
|
||||
fl = c.faces(">Z | <Z").vals()
|
||||
fl = c.faces(">Z or <Z").vals()
|
||||
self.assertEqual(2, len(fl))
|
||||
el = c.edges("|X | |Y").vals()
|
||||
el = c.edges("|X or |Y").vals()
|
||||
self.assertEqual(8, len(el))
|
||||
|
||||
# test using extended string syntax
|
||||
v = c.vertices(">X & >Y").vals()
|
||||
self.assertEqual(2, len(v))
|
||||
|
||||
def testSubtractSelector(self):
|
||||
c = CQ(makeUnitCube())
|
||||
@ -378,7 +378,7 @@ class TestCQSelectors(BaseTest):
|
||||
self.assertEqual(3, len(fl))
|
||||
|
||||
# test using extended string syntax
|
||||
fl = c.faces("#Z ^ >X").vals()
|
||||
fl = c.faces("#Z exc >X").vals()
|
||||
self.assertEqual(3, len(fl))
|
||||
|
||||
def testInverseSelector(self):
|
||||
@ -398,10 +398,17 @@ class TestCQSelectors(BaseTest):
|
||||
self.assertEqual(3, len(el))
|
||||
|
||||
# test using extended string syntax
|
||||
fl = c.faces('~>Z').vals()
|
||||
fl = c.faces('not >Z').vals()
|
||||
self.assertEqual(5, len(fl))
|
||||
el = c.faces('>Z').edges('~>X').vals()
|
||||
el = c.faces('>Z').edges('not >X').vals()
|
||||
self.assertEqual(3, len(el))
|
||||
|
||||
def testComplexStringSelector(self):
|
||||
c = CQ(makeUnitCube())
|
||||
|
||||
v = c.vertices('(>X and >Y) or (<X and <Y)').vals()
|
||||
self.assertEqual(4, len(v))
|
||||
|
||||
|
||||
def testFaceCount(self):
|
||||
c = CQ(makeUnitCube())
|
||||
@ -426,7 +433,7 @@ class TestCQSelectors(BaseTest):
|
||||
Test if reasonable string selector expressions parse without an error
|
||||
"""
|
||||
|
||||
gram = selectors._makeGrammar()
|
||||
gram = selectors._expression_grammar
|
||||
|
||||
expressions = ['+X ',
|
||||
'-Y',
|
||||
@ -443,7 +450,9 @@ class TestCQSelectors(BaseTest):
|
||||
'left',
|
||||
'right',
|
||||
'top',
|
||||
'bottom']
|
||||
'bottom',
|
||||
'not |(1,1,0) and >(0,0,1) or XY except >(1,1,1)[-1]',
|
||||
'(not |(1,1,0) and >(0,0,1)) exc XY and (Z or X)']
|
||||
|
||||
for e in expressions: gram.parseString(e)
|
||||
|
||||
Reference in New Issue
Block a user