def test_star_wildcard(self): result = EntityQueryParser.parseString("*", parseAll=True) name = result.EntityQuery[0] self.assertEqual("*", name)
def test_without_wildcards(self): result = EntityQueryParser.parseString("LINE", parseAll=True) name = result.EntityQuery[0] self.assertEqual("LINE", name)
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])
def test_not_regex_match(self): result = EntityQueryParser.parseString('*[layer!?"0"]', parseAll=True) self.assertEqual(('layer', '!?', '0'), tuple(result.AttribQuery))
def test_not_regex_match(self): result = EntityQueryParser.parseString('*[layer!?"0"]', parseAll=True) assert ("layer", "!?", "0") == tuple(result.AttribQuery)
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))
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))
def test_star_wildcard_4(self): with pytest.raises(ParseException): EntityQueryParser.parseString("* LINE", parseAll=True)
def test_empty_attribute_list_not_allowed(self): with pytest.raises(ParseException): EntityQueryParser.parseString("LINE[]", parseAll=True)
def test_wrong_star_wildcard(self): with pytest.raises(ParseException): EntityQueryParser.parseString("LIN*", parseAll=True)
def test_star_wildcard_2(self): result = EntityQueryParser.parseString("* !LINE", parseAll=True) assert result.EntityQuery[0] == "*" assert result.EntityQuery[1] == "!LINE"
def test_star_wildcard(self): result = EntityQueryParser.parseString("*", parseAll=True) name = result.EntityQuery[0] assert "*" == name
def test_two_entity_names(self): result = EntityQueryParser.parseString("LINE CIRCLE", parseAll=True) assert "LINE" == result.EntityQuery[0] assert "CIRCLE" == result.EntityQuery[1]
def test_appended_ignore_case_option(self): result = EntityQueryParser.parseString( '*[layer=="IgnoreCase"]i', parseAll=True ) assert "i" == result.AttribQueryOptions
def test_wrong_star_wildcard_3(self): with self.assertRaises(ParseException): EntityQueryParser.parseString("LINE *[]", parseAll=True)
def test_one_attribute(self): result = EntityQueryParser.parseString( 'LINE[layer=="0"]', parseAll=True ) assert "LINE" == result.EntityQuery[0] assert ("layer", "==", "0") == tuple(result.AttribQuery)
def test_empty_attribute_list_not_allowed(self): with self.assertRaises(ParseException): EntityQueryParser.parseString("LINE[]", parseAll=True)
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)
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))
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)
def test_relation_gt(self): result = EntityQueryParser.parseString('*[layer>="0"]', parseAll=True) self.assertEqual(('layer', '>=', '0'), tuple(result.AttribQuery))
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)
def test_appended_ignore_case_option(self): result = EntityQueryParser.parseString('*[layer=="IgnoreCase"]i', parseAll=True) self.assertEqual("i", result.AttribQueryOptions)
def test_relation_gt(self): result = EntityQueryParser.parseString('*[layer>="0"]', parseAll=True) assert ("layer", ">=", "0") == tuple(result.AttribQuery)