def test_name_with_conjunction_form(self):
        name1 = "AAAA DE AAA AAA"
        self.assertEquals(gh.normalize_author_name(name1), "De Aaa, A.")

        name2 = "AAAA AAA DE AAA"
        self.assertEquals(gh.normalize_author_name(name2), "Aaa, A.")

        name2 = "AAAA AAA DE AAA CCC"
        self.assertEquals(gh.normalize_author_name(name2), "De Aaa, A.A.")
    def test_common_strings(self):
        name1 = "Lastname N"
        name2 = "N Lastname"
        name3 = "Name Lastname"

        expected = "Lastname, N."

        self.assertEquals(gh.normalize_author_name(name1), expected)
        self.assertEquals(gh.normalize_author_name(name2), expected)
        self.assertEquals(gh.normalize_author_name(name3), expected)
    def test_unexpected_string_form(self):
        name1 = "Abla1 Bbla2 C"
        self.assertEquals(gh.normalize_author_name(name1), "Bbla2, C.")

        name2 = "Abla1 Bbla2 Cbla3"
        self.assertEquals(gh.normalize_author_name(name2), "Cbla3, A.B.")

        name3 = "ABLA1 BBLA2 CBLA3 DBLA4"
        self.assertEquals(gh.normalize_author_name(name3), "Cbla3, A.B.")

        name4 = "ABLA1 BBLA2 CBLA3"
        self.assertEquals(gh.normalize_author_name(name4), "Bbla2, A.")
    def test_double_name_strings(self):
        name1 = "Lastname NA"
        name2 = "NA Lastname"
        name3 = "Name Are Lastname"
        name4 = "Lastname N A"
        name5 = "N A Lastname"

        expected = "Lastname, N.A."

        self.assertEquals(gh.normalize_author_name(name1), expected)
        self.assertEquals(gh.normalize_author_name(name2), expected)
        self.assertEquals(gh.normalize_author_name(name3), expected)
        self.assertEquals(gh.normalize_author_name(name4), expected)
        self.assertEquals(gh.normalize_author_name(name5), expected)
 def test_returns_correct_object(self):
     self.assertEquals(type(gh.normalize_author_name("Test T")), str)