def test_seq_number_supports_prefix(self): lang1 = {'Description': 'This is a language'} lang2 = {'Description': 'This is another language'} id_maker = p.LanguageIDMaker() id1 = id_maker.make_id(lang1) id2 = id_maker.make_id(lang2) self.assertEqual(id1, '1') self.assertEqual(id2, '2')
def test_fallback_to_normalised_name(self): lang = { 'ID': 'lang_id', 'Name': 'Language Name', 'Description': 'This is a language' } id_maker = p.LanguageIDMaker() result = id_maker.make_id(lang) self.assertEqual(result, 'languagename')
def test_fallback_to_iso639_code(self): lang = { 'ID': 'lang_id', 'ISO639P3code': 'abc', 'Name': 'Language Name', 'Description': 'This is a language' } id_maker = p.LanguageIDMaker() result = id_maker.make_id(lang) self.assertEqual(result, 'abc')
def test_prefer_glottocode(self): lang = { 'ID': 'lang_id', 'Glottocode': 'abcd1234', 'ISO639P3code': 'abc', 'Name': 'Language Name', 'Description': 'This is a language' } id_maker = p.LanguageIDMaker() result = id_maker.make_id(lang) self.assertEqual(result, 'abcd1234')
def test_uniqueness(self): lang1 = { 'ID': 'lang_id', 'Glottocode': 'abcd1234', 'ISO639P3code': 'abc', 'Name': 'Language Name', 'Description': 'These two are identical' } lang2 = { 'ID': 'lang_id', 'Glottocode': 'abcd1234', 'ISO639P3code': 'abc', 'Name': 'Language Name', 'Description': 'These two are identical' } id_maker = p.LanguageIDMaker() id1 = id_maker.make_id(lang1) id2 = id_maker.make_id(lang2) self.assertEqual(id1, 'abcd1234') self.assertEqual(id2, 'abcd1234-2')
def test_fallback_to_seq_number(self): lang = {'Description': 'This is a language'} id_maker = p.LanguageIDMaker() result = id_maker.make_id(lang) self.assertEqual(result, '1')
def test_fallback_to_old_id(self): lang = {'ID': 'lang_id', 'Description': 'This is a language'} id_maker = p.LanguageIDMaker() result = id_maker.make_id(lang) self.assertEqual(result, 'lang_id')