def test_2021(self, l): self.assertEqual(tk._parse_relative("FORM2021"), (0, "FORM", 2020, False)) l.check( ('tktitler', 'WARNING', 'While parsing an alias, the technically ' 'ambiguous postfix 2021 was met. It it assumed it means ' '2020/2021.'))
def test_unicode_superscript(self): self.assertEqual(tk._parse_relative("T²OFORM"), (5, "FORM", None, False))
def test_lower(self): self.assertEqual(tk._parse_relative("gfuoeae14"), (1, "FUOEAE", 2014, True)) self.assertEqual(tk._normalize_escaped("FUOEAE"), "FUØÆ")
def test_simple_prefix(self): self.assertEqual(tk._parse_relative("GFORM"), (1, "FORM", None, False))
def test_2021_slash(self, l): self.assertEqual(tk._parse_relative("FORM20/21"), (0, "FORM", 2020, False)) l.check()
def test_bestfu(self): self.assertEqual(tk._parse_relative("BESTFU"), (0, "BESTFU", None, False))
def test_prefix(self): self.assertEqual(tk._parse_relative("G12"), (12, "", None, False))
def test_cerm_funny(self): self.assertEqual( tk._parse_relative("\N{DOUBLE-STRUCK CAPITAL C}ERM"), (0, "CERM", None, False), )
def test_short_postfix(self): self.assertEqual(tk._parse_relative("OT2OFORM16"), (8, "FORM", 2016, False))
def test_exponent(self): self.assertEqual(tk._parse_relative("OT2OFORM"), (8, "FORM", None, False))
def test_t3_before_b(self): self.assertEqual(tk._parse_relative("T3BFORM"), (0, "T3BFORM", None, False))
def test_temp_title(self): self.assertEqual(tk._parse_relative("BTFORM"), (2, "TFORM", None, False))
def test_bent(self): self.assertEqual(tk._parse_relative("TVC02"), (0, "TVC", 2002, False))
def test_koldebolle(self): self.assertEqual(tk._parse_relative("K5OBEFUIT"), (0, "EFUIT", None, False))
def test_multi_prefix(self): self.assertEqual(tk._parse_relative("BTOKFORM"), (5, "FORM", None, False))
def test_kass_dollar(self): self.assertEqual(tk._parse_relative("GKA$$"), (1, "KASS", None, False))
def test_kass_funny(self): self.assertEqual(tk._parse_relative("GKA$\N{POUND SIGN}"), (1, "KASS", None, False))
def test_long_postfix(self): self.assertEqual(tk._parse_relative("FORM1516"), (0, "FORM", 2015, False))
def test_unknown(self): self.assertEqual(tk._parse_relative("OABEN"), (3, "ABEN", None, False))
def test_full_postfix(self): self.assertEqual(tk._parse_relative("FORM2015"), (0, "FORM", 2015, False))
def test_postfix(self): self.assertEqual(tk._parse_relative("12"), (0, "", 2012, False))
def test_fu(self): self.assertEqual(tk._parse_relative("GFU14"), (1, "FU", 2014, False))
def test_fu_int(self): self.assertEqual(tk._parse_relative("GFUOEAE14"), (1, "FUOEAE", 2014, True)) self.assertEqual(tk._normalize_escaped("FUOEAE"), "FUØÆ")
def test_fu_int_2(self): self.assertEqual(tk._parse_relative("FUOUE"), (0, "FUOUE", None, True)) self.assertEqual(tk._normalize_escaped("FUOUE"), "FUOÜ")
def test_invalid_slash(self): with self.assertRaises(ValueError): tk._parse_relative('FORM1/314')
def test_relative_current(self): self.assertEqual(tk._parse_relative("FORM"), (0, "FORM", None, False))