def test_import_csv_success(self): # ARRANGE shutil.copyfile("../test_files/valid.csv", "../import/valid.csv") schedule = definitions.Schedule() expected = "Group#: 1, Priority: D, \nMembers: \n\n" \ "Ticket#: GR00001\n" \ "Age: 42\n" \ "Height: 72\n" \ "email: [email protected]\n\n" \ "Ticket#: GR00002\n" \ "Age: 42\n" \ "Height: 72\n" \ "email: [email protected]\n\n" \ "Ticket#: GR00003\n" \ "Age: 42\n" \ "Height: 72\n" \ "email: [email protected]\n" # ACT schedule.insert([['GR00001', '42', '72', '*****@*****.**']]) schedule.insert([['GR00002', '42', '72', '*****@*****.**']]) schedule.insert([['GR00003', '42', '72', '*****@*****.**']]) schedule = definitions.Schedule() schedule.import_csv() actual = schedule.display_group(1) # ASSERT self.assertEqual(actual, expected)
def test_search_error(self): # ARRANGE schedule = definitions.Schedule() # ACT # ASSERT with self.assertRaises(ValueError): schedule.search("ABC")
def test_display_group_exception(self): # ARRANGE schedule = definitions.Schedule() # ACT # ASSERT with self.assertRaises(ValueError): schedule.display_group("ABC")
def test_is_empty(self): # ARRANGE schedule = definitions.Schedule() expected = True # ACT actual = schedule.is_empty() # ASSERT self.assertEqual(actual, expected)
def test_insert_height_no_input(self): # ARRANGE schedule = definitions.Schedule() test_info = [["GP00003", "42", "", "*****@*****.**"]] # ACT # ASSERT with self.assertRaises(ValueError): schedule.insert(test_info)
def test_insert_email_no_input(self): # ARRANGE schedule = definitions.Schedule() test_info = [["GP00001", "42", "72", ""]] # ACT # ASSERT with self.assertRaises(ValueError): schedule.insert(test_info)
def test_insert_ticket_invalid(self): # ARRANGE schedule = definitions.Schedule() test_info = [["GP00005", "42", "72", "*****@*****.**"]] # ACT # ASSERT with self.assertRaises(ValueError): schedule.insert(test_info)
def test_insert_age_format(self): # ARRANGE schedule = definitions.Schedule() test_info = [["GP00003", "ABC", "72", "*****@*****.**"]] # ACT # ASSERT with self.assertRaises(ValueError): schedule.insert(test_info)
def test_insert_accompany_invalid(self): # ARRANGE schedule = definitions.Schedule() test_info = [["PR00001", "5", "48", "*****@*****.**"], ["PR00001", "13", "60", "*****@*****.**"]] # ACT # ASSERT with self.assertRaises(ValueError): schedule.insert(test_info)
def test_insert_valid(self): # ARRANGE shutil.copyfile("../test_files/valid.csv", "../import/valid.csv") schedule = definitions.Schedule() test_info = [["GP00001", "42", "72", "*****@*****.**"]] expected = 1 # ACT schedule.insert(test_info) actual = schedule.size() # ASSERT self.assertEqual(actual, expected)
def test_search_valid(self): # ARRANGE schedule = definitions.Schedule() test_info_11 = [["GS00002", "42", "72", "*****@*****.**"]] test_info_22 = [["GS00003", "42", "72", "*****@*****.**"]] expected = True # ACT schedule.insert(test_info_11) schedule.insert(test_info_22) actual = schedule.search(1) # ASSERT self.assertEqual(actual, expected)
def test_search_invalid(self): # ARRANGE shutil.copyfile("../test_files/valid.csv", "../import/valid.csv") schedule = definitions.Schedule() test_info_1 = [["PR00002", "42", "72", "*****@*****.**"]] test_info_2 = [["PR00003", "42", "72", "*****@*****.**"]] expected = False # ACT schedule.insert(test_info_1) schedule.insert(test_info_2) actual = schedule.search(2) # ASSERT self.assertEqual(actual, expected)
def test_display_group_valid(self): # ARRANGE schedule = definitions.Schedule() test_info = [["PR00001", "42", "72", "*****@*****.**"]] expected = "Group#: 1, Priority: C, \nMembers: \n\n" \ "Ticket#: PR00001\n" \ "Age: 42\n" \ "Height: 72\n" \ "email: [email protected]\n" # ACT schedule.insert(test_info) actual = schedule.display_group(1) # ASSERT self.assertEqual(actual, expected)
def test_size_new(self): # ARRANGE shutil.copyfile("../test_files/valid.csv", "../import/valid.csv") schedule = definitions.Schedule() test_info_1 = [["GS00001", "42", "72", "*****@*****.**"]] test_info_2 = [["GR00002", "42", "72", "*****@*****.**"]] expected = 2 # ACT schedule.insert(test_info_1) schedule.insert(test_info_2) actual = schedule.size() # ASSERT self.assertEqual(actual, expected) # Delete backup file. os.remove("../backup/backup.csv")
def test_backup_csv_success(self): # ARRANGE schedule = definitions.Schedule() test_info = [["GR00001", "42", "72", "*****@*****.**"]] temp_list = [] expected = [['1', 'D', "[['GR00001', '42', '72', '*****@*****.**']]"]] # ACT schedule.insert(test_info) schedule.backup_csv() with open('../backup/backup.csv', mode='r', newline="") as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') for line in csv_reader: temp_list.append(line) csv_file.close() actual = temp_list # ASSERT self.assertEqual(actual, expected)
def test_selection_sort(self): # ARRANGE shutil.copyfile("../test_files/valid.csv", "../import/valid.csv") schedule = definitions.Schedule() schedule.insert([['GR00001', '42', '72', '*****@*****.**']]) schedule.insert([['GR00002', '42', '72', '*****@*****.**']]) schedule.insert([['GR00003', '42', '72', '*****@*****.**']]) schedule.insert([['GS00001', '42', '72', '*****@*****.**']]) schedule.insert([['GS00002', '42', '72', '*****@*****.**']]) schedule.insert([['GS00003', '42', '72', '*****@*****.**']]) schedule.insert([['PR00001', '42', '72', '*****@*****.**']]) schedule.insert([['PR00002', '42', '72', '*****@*****.**']]) schedule.insert([['PR00003', '42', '72', '*****@*****.**']]) schedule.insert([['GP00001', '42', '72', '*****@*****.**']]) schedule.insert([['GP00002', '42', '72', '*****@*****.**']]) schedule.insert([['GP00003', '42', '72', '*****@*****.**']]) expected = "A" # ACT schedule.selection_sort() actual = schedule.remove().get_priority() # ASSERT self.assertEqual(actual, expected)
def test_export_csv(self): # ARRANGE shutil.copyfile("../test_files/valid.csv", "../import/valid.csv") schedule = definitions.Schedule() schedule.insert([['GR00001', '42', '72', '*****@*****.**']]) schedule.insert([['GR00002', '42', '72', '*****@*****.**']]) schedule.insert([['GR00003', '42', '72', '*****@*****.**']]) schedule.insert([['GS00001', '42', '72', '*****@*****.**']]) schedule.insert([['GS00002', '42', '72', '*****@*****.**']]) schedule.insert([['GS00003', '42', '72', '*****@*****.**']]) schedule.insert([['PR00001', '42', '72', '*****@*****.**']]) schedule.insert([['PR00002', '42', '72', '*****@*****.**']]) schedule.insert([['PR00003', '42', '72', '*****@*****.**']]) schedule.insert([['GP00001', '42', '72', '*****@*****.**']]) schedule.insert([['GP00002', '42', '72', '*****@*****.**']]) schedule.insert([['GP00003', '42', '72', '*****@*****.**']]) expected = True # ACT schedule.selection_sort() schedule.export_csv() actual = os.path.exists("../export/export.csv") # ASSERT self.assertEqual(expected, actual)