예제 #1
0
 def test_star_wildcard(self):
     result = EntityQueryParser.parseString("*", parseAll=True)
     name = result.EntityQuery[0]
     self.assertEqual("*", name)
예제 #2
0
 def test_without_wildcards(self):
     result = EntityQueryParser.parseString("LINE", parseAll=True)
     name = result.EntityQuery[0]
     self.assertEqual("LINE", name)
예제 #3
0
 def test_two_entity_names(self):
     result = EntityQueryParser.parseString("LINE CIRCLE", parseAll=True)
     self.assertEqual("LINE", result.EntityQuery[0])
     self.assertEqual("CIRCLE", result.EntityQuery[1])
예제 #4
0
 def test_not_regex_match(self):
     result = EntityQueryParser.parseString('*[layer!?"0"]', parseAll=True)
     self.assertEqual(('layer', '!?', '0'), tuple(result.AttribQuery))
예제 #5
0
 def test_not_regex_match(self):
     result = EntityQueryParser.parseString('*[layer!?"0"]', parseAll=True)
     assert ("layer", "!?", "0") == tuple(result.AttribQuery)
예제 #6
0
 def test_one_attribute(self):
     result = EntityQueryParser.parseString('LINE[layer=="0"]', parseAll=True)
     self.assertEqual("LINE", result.EntityQuery[0])
     self.assertEqual(('layer', '==', '0'), tuple(result.AttribQuery))
예제 #7
0
 def test_star_with_one_attribute(self):
     result = EntityQueryParser.parseString('*[layer=="0"]', parseAll=True)
     self.assertEqual("*", result.EntityQuery[0])
     self.assertEqual(3, len(result.AttribQuery))
     self.assertEqual(('layer', '==', '0'), tuple(result.AttribQuery))
예제 #8
0
 def test_star_wildcard_4(self):
     with pytest.raises(ParseException):
         EntityQueryParser.parseString("* LINE", parseAll=True)
예제 #9
0
 def test_empty_attribute_list_not_allowed(self):
     with pytest.raises(ParseException):
         EntityQueryParser.parseString("LINE[]", parseAll=True)
예제 #10
0
 def test_wrong_star_wildcard(self):
     with pytest.raises(ParseException):
         EntityQueryParser.parseString("LIN*", parseAll=True)
예제 #11
0
 def test_star_wildcard_2(self):
     result = EntityQueryParser.parseString("* !LINE", parseAll=True)
     assert result.EntityQuery[0] == "*"
     assert result.EntityQuery[1] == "!LINE"
예제 #12
0
 def test_star_wildcard(self):
     result = EntityQueryParser.parseString("*", parseAll=True)
     name = result.EntityQuery[0]
     assert "*" == name
예제 #13
0
 def test_two_entity_names(self):
     result = EntityQueryParser.parseString("LINE CIRCLE", parseAll=True)
     assert "LINE" == result.EntityQuery[0]
     assert "CIRCLE" == result.EntityQuery[1]
예제 #14
0
 def test_appended_ignore_case_option(self):
     result = EntityQueryParser.parseString(
         '*[layer=="IgnoreCase"]i', parseAll=True
     )
     assert "i" == result.AttribQueryOptions
예제 #15
0
 def test_wrong_star_wildcard_3(self):
     with self.assertRaises(ParseException):
         EntityQueryParser.parseString("LINE *[]", parseAll=True)
예제 #16
0
 def test_one_attribute(self):
     result = EntityQueryParser.parseString(
         'LINE[layer=="0"]', parseAll=True
     )
     assert "LINE" == result.EntityQuery[0]
     assert ("layer", "==", "0") == tuple(result.AttribQuery)
예제 #17
0
 def test_empty_attribute_list_not_allowed(self):
     with self.assertRaises(ParseException):
         EntityQueryParser.parseString("LINE[]", parseAll=True)
예제 #18
0
 def test_single_quoted_attributes(self):
     result = EntityQueryParser.parseString(
         "LINE[layer=='0']", parseAll=True
     )
     assert "LINE" == result.EntityQuery[0]
     assert ("layer", "==", "0") == tuple(result.AttribQuery)
예제 #19
0
 def test_attribute_name_with_underscore(self):
     result = EntityQueryParser.parseString('HATCH[solid_fill==0]', parseAll=True)
     self.assertEqual("HATCH", result.EntityQuery[0])
     self.assertEqual(('solid_fill', '==', 0), tuple(result.AttribQuery))
예제 #20
0
 def test_attribute_name_with_underscore(self):
     result = EntityQueryParser.parseString(
         "HATCH[solid_fill==0]", parseAll=True
     )
     assert "HATCH" == result.EntityQuery[0]
     assert ("solid_fill", "==", 0) == tuple(result.AttribQuery)
예제 #21
0
 def test_relation_gt(self):
     result = EntityQueryParser.parseString('*[layer>="0"]', parseAll=True)
     self.assertEqual(('layer', '>=', '0'), tuple(result.AttribQuery))
예제 #22
0
 def test_star_with_one_attribute(self):
     result = EntityQueryParser.parseString('*[layer=="0"]', parseAll=True)
     assert "*" == result.EntityQuery[0]
     assert 3 == len(result.AttribQuery)
     assert ("layer", "==", "0") == tuple(result.AttribQuery)
예제 #23
0
 def test_appended_ignore_case_option(self):
     result = EntityQueryParser.parseString('*[layer=="IgnoreCase"]i', parseAll=True)
     self.assertEqual("i", result.AttribQueryOptions)
예제 #24
0
 def test_relation_gt(self):
     result = EntityQueryParser.parseString('*[layer>="0"]', parseAll=True)
     assert ("layer", ">=", "0") == tuple(result.AttribQuery)