def test_parse_line2(self): line = "Chandler, Kerri, (623)-668-9293, pink, 123123121" formatter = Formatter() formatter.parse_line(line, 1) self.assertListEqual([], formatter.entries) self.assertListEqual([1], formatter.errors)
def test_parse_line4(self): line = "asdfawefawea" formatter = Formatter() formatter.parse_line(line, 3) self.assertListEqual([], formatter.entries) self.assertListEqual([3], formatter.errors)
def test_parse_line5(self): line = "Chandler, Kerri, (623)-668-9293, pink, 12312" formatter = Formatter() formatter.parse_line(line, 4) expected = Entry("pink", "Kerri", "Chandler", "623-668-9293", "12312") self.assertListEqual([expected], formatter.entries) self.assertListEqual([], formatter.errors)
def test_parse_line3(self): line = "James Murphy, yellow, 83880, 018 154 6474" formatter = Formatter() formatter.parse_line(line, 2) expected = Entry("yellow", "James", "Murphy", "018-154-6474", "83880") self.assertListEqual([expected], formatter.entries) self.assertListEqual([], formatter.errors)
def test_parse_line1(self): line = "Booker T., Washington, 87360, 373 781 7380, yellow" formatter = Formatter() formatter.parse_line(line, 0) expected = Entry("yellow", "Booker T.", "Washington", "373-781-7380", "87360") self.assertListEqual([expected], formatter.entries) self.assertListEqual([], formatter.errors)
def test_extract(self): formatter = Formatter() formatter.extract("rolodex_test1.txt") with open("result.out") as result: actual = result.read() with open("expected.out") as expected_result: expected = expected_result.read() self.assertEqual(expected, actual)
def test_format(self): in_data = ["Booker T., Washington, 87360, 373 781 7380, yellow", "Chandler, Kerri, (623)-668-9293, pink, 123123121", "James Murphy, yellow, 83880, 018 154 6474", "asdfawefawea"] formatter = Formatter() result = json.dumps(formatter.format_rolodex(in_data), sort_keys=True) expected = """{"entries": [""" + \ """{"color": "yellow", "firstname": "James", "lastname": "Murphy", """ + \ """"phonenumber": "018-154-6474", "zipcode": "83880"}, """ + \ """{"color": "yellow", "firstname": "Booker T.", "lastname": "Washington", """ + \ """"phonenumber": "373-781-7380", "zipcode": "87360"}], """ + \ """"errors": [1, 3]}""" self.assertEqual(expected, result)
def test_parse_line6(self): line0 = "Booker T., Washington, 87360, 373 781 7380, yellow" line1 = "Chandler, Kerri, (623)-668-9293, pink, 123123121" line2 = "James Murphy, yellow, 83880, 018 154 6474" line3 = "asdfawefawea" line4 = "Chandler, Kerri, (623)-668-9293, pink, 12312" formatter = Formatter() formatter.parse_line(line0, 0) formatter.parse_line(line1, 1) formatter.parse_line(line2, 2) formatter.parse_line(line3, 3) formatter.parse_line(line4, 4) expected0 = Entry("yellow", "Booker T.", "Washington", "373-781-7380", "87360") expected2 = Entry("yellow", "James", "Murphy", "018-154-6474", "83880") expected4 = Entry("pink", "Kerri", "Chandler", "623-668-9293", "12312") expected = [expected0, expected2, expected4] self.assertListEqual(expected, formatter.entries) self.assertListEqual([1,3], formatter.errors)
def test_normalize_formatted_phone(self): number = "(555)-123-4567" expected = "555-123-4567" self.assertEqual(expected, Formatter.normalize_formatted_phone(number))
def test_normalize_invalid_name_doesnt_have_two_elts(self): invalid = "Jaz" expected = ["Jaz"] self.assertListEqual(expected, Formatter.normalize_split_name(invalid))
def test_normalize_name3(self): name = "Jazmine M James" expected = ["Jazmine M", "James"] self.assertListEqual(expected, Formatter.normalize_split_name(name))