def test_diff_only_first_character(self): """Check two string with only the first character being different""" name1 = "1800" name2 = "2800" legalized1 = utils.legalize_vector_name(name1) legalized2 = utils.legalize_vector_name(name2) self.assertNotEqual(legalized1, legalized2)
def test_custom_prefix(self): """Check providing custom prefix""" name = "1800" prefix = "prefix_a1_" legalized = utils.legalize_vector_name(name, fallback_prefix=prefix) self.assertEqual(len(prefix) + len(name), len(legalized)) self.assertIn(prefix, legalized)
def test_has_unicode(self): """Check string with unicode""" name = "abøc" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "ab_c") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_starts_with_unicode(self): """Check string starting with unicode""" name = "øabc" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "x_abc") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_with_ascii_art(self): """Check with a lot of invalid characters""" name = "abc_>>>def<<<_!" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "abc____def_____") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_starts_with_underscore(self): """Check string starting with underscore""" name = "_123456" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "x_123456") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_has_dashes(self): """Check behavior with dash (a typical and important case)""" name = "abc-def-1" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "abc_def_1") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_has_dollar(self): """Check with one invalid character""" name = "abc_$def" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "abc__def") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_has_spaces(self): """Check behavior with a space""" name = "abc def 1" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "abc_def_1") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_no_change(self): """There should be no change if the name is valid already""" name = "perfectly_valid_name" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, name) self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_is_working_in_vector_table_column(self): """Check that a vector and column can be created This indirectly tests that it is Vect_legal_name(). """ for name, reference in self.names: legalized = utils.legalize_vector_name(name) self.assertTrue(self.works_for_vector_table_column(legalized)) self.assertEqual(legalized, reference)
def test_has_at_sign(self): """Check behavior with @ This can happen, e.g., when a full map name is used, so testing explicitly. """ name = "abc@def" legalized = utils.legalize_vector_name(name) self.assertEqual(legalized, "abc_def") self.assertTrue(legal_name(legalized)) self.assertTrue(self.works_for_vector_table_column(legalized))
def test_append_node_pid(self): base_name = "tmp_abc" full_name = utils.append_node_pid(base_name) self.assertIn(base_name, full_name) self.assertGreater(len(full_name), len(base_name)) self.assertIn(str(os.getpid()), full_name) self.assertIn(utils.legalize_vector_name(platform.node()), full_name) self.assertTrue(legal_name(full_name)) # TODO: It should be also a valid vector name # but we don't have a function for that (same for all) full_name2 = utils.append_node_pid(base_name) self.assertEqual( full_name, full_name2, msg="There should be no randomness or change." )
def test_no_prefix(self): """Check providing custom prefix""" name = "1800" legalized = utils.legalize_vector_name(name, fallback_prefix="") self.assertEqual(len(name), len(legalized))
def test_is_legal_name(self): """Check that it is a G_legal_name()""" for name, reference in self.names: legalized = utils.legalize_vector_name(name) self.assertTrue(legal_name(legalized)) self.assertEqual(legalized, reference)
def location_name_from_url(url): """Create location name from URL""" return legalize_vector_name(name_from_url(url))