def test_city_node(self): node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) self.assertFalse(City().is_entity_applicable(node)) node.tags['place'] = 'foo' self.assertFalse(City().is_entity_applicable(node)) node.tags['place'] = 'CiTy' self.assertFalse(City().is_entity_applicable(node)) node.tags['place'] = 'city' self.assertTrue(City().is_entity_applicable(node))
def test_latin_name_missing_check_other_country_with_sr_name(self): context = self.default_context.copy() context['global_context']['map'] = 'Atlantida' node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) node.tags['name:sr'] = 'фоо' # If name does not exists, it is error self.assertTrue(LatinNameExistsCheck(context).do_check(node) != '') # If name exists, but is None, it is error node.tags['name:sr-Latn'] = None self.assertTrue(LatinNameExistsCheck(context).do_check(node) != '') # If name exists, but is empty, it is error node.tags['name:sr-Latn'] = '' self.assertTrue(LatinNameExistsCheck(context).do_check(node) != '') # Name exists, no error node.tags['name:sr-Latn'] = 'foo' self.assertTrue(LatinNameExistsCheck(context).do_check(node) == '') # Name exists in cyrillic, no error (because this is not what this check checks) node.tags['name:sr-Latn'] = 'фоо' self.assertTrue(LatinNameExistsCheck(context).do_check(node) == '')
def test_latin_name_same_as_cyrillic_check_other_country(self): context = self.default_context.copy() context['global_context']['map'] = 'Atlantida' node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) node.tags['name:sr'] = 'фоо' node.tags['name:sr-Latn'] = 'foo' self.assertTrue( LatinNameSameAsCyrillicCheck(context).do_check(node) == '') node.tags['name:sr-Latn'] = 'foo2' self.assertTrue( LatinNameSameAsCyrillicCheck(context).do_check(node) != '')
def test_latin_name_same_as_cyrillic_check_serbia(self): node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) node.tags['name'] = 'фоо' node.tags['name:sr-Latn'] = 'foo' self.assertTrue( LatinNameSameAsCyrillicCheck(self.default_context).do_check(node) == '') node.tags['name:sr-Latn'] = 'foo2' self.assertTrue( LatinNameSameAsCyrillicCheck(self.default_context).do_check(node) != '')
def test_name_cyrillic_check_serbia(self): node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) # If name does not exists, is None or empty, it is not error (name exists check will catch this) self.assertTrue( NameCyrillicCheck(self.default_context).do_check(node) == '') node.tags['name'] = None self.assertTrue( NameCyrillicCheck(self.default_context).do_check(node) == '') node.tags['name'] = '' self.assertTrue( NameCyrillicCheck(self.default_context).do_check(node) == '') # If name is not cyrillic, fail node.tags['name'] = 'foo' self.assertTrue( NameCyrillicCheck(self.default_context).do_check(node) != '') # If name is cyrillic, do not fail node.tags['name'] = 'фоо' self.assertTrue( NameCyrillicCheck(self.default_context).do_check(node) == '')
def test_latin_name_not_in_cyrillic_check(self): node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) node.tags['name'] = 'бар' self.assertTrue( LatinNameNotInCyrillicCheck(self.default_context).do_check(node) == '') node.tags['name:sr-Latn'] = '' self.assertTrue( LatinNameNotInCyrillicCheck(self.default_context).do_check(node) == '') node.tags['name:sr-Latn'] = 'foo' self.assertTrue( LatinNameNotInCyrillicCheck(self.default_context).do_check(node) == '') node.tags['name:sr-Latn'] = 'фоо' self.assertTrue( LatinNameNotInCyrillicCheck(self.default_context).do_check(node) != '') # If there is no name, this check reports OK del node.tags['name'] self.assertTrue( LatinNameNotInCyrillicCheck(self.default_context).do_check(node) == '')
def test_latin_name_missing_check_serbia(self): node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) # If name does not exists, it is error self.assertTrue( LatinNameExistsCheck(self.default_context).do_check(node) != '') # If name exists, but is None, it is error node.tags['name:sr-Latn'] = None self.assertTrue( LatinNameExistsCheck(self.default_context).do_check(node) != '') # If name exists, but is empty, it is error node.tags['name:sr-Latn'] = '' self.assertTrue( LatinNameExistsCheck(self.default_context).do_check(node) != '') # Name exists, no error node.tags['name:sr-Latn'] = 'foo' self.assertTrue( LatinNameExistsCheck(self.default_context).do_check(node) == '') # Name exists in cyrillic, no error (because this is not what this check checks) node.tags['name:sr-Latn'] = 'фоо' self.assertTrue( LatinNameExistsCheck(self.default_context).do_check(node) == '')
def test_name_missing_check(self): node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) # If name does not exists, it is error self.assertTrue( NameMissingCheck(self.default_context).do_check(node) != '') # If name exists, but is None, it is error node.tags['name'] = None self.assertTrue( NameMissingCheck(self.default_context).do_check(node) != '') # If name exists, but is empty, it is error node.tags['name'] = '' self.assertTrue( NameMissingCheck(self.default_context).do_check(node) != '') # Name exists, no error node.tags['name'] = 'foo' self.assertTrue( NameMissingCheck(self.default_context).do_check(node) == '')
def test_name_cyrillic_check_other_country(self): context = self.default_context.copy() context['global_context']['map'] = 'Atlantida' node = Node(id=123, version=1, changeset=1, timestamp=None, uid=1, tags={}, lon=None, lat=None) # If name does not exists, is None or empty, it is not error (name exists check will catch this) self.assertTrue(NameCyrillicCheck(context).do_check(node) == '') node.tags['name:sr'] = None self.assertTrue(NameCyrillicCheck(context).do_check(node) == '') node.tags['name:sr'] = '' self.assertTrue(NameCyrillicCheck(context).do_check(node) == '') # If name is not cyrillic, fail node.tags['name:sr'] = 'foo' self.assertTrue(NameCyrillicCheck(context).do_check(node) != '') # If name is cyrillic, do not fail node.tags['name:sr'] = 'фоо' self.assertTrue(NameCyrillicCheck(context).do_check(node) == '')