def test_should_not_sort_in_place(self): # given b1 = backup_utils.create_backup(datetime(2017, 2, 3, 16, 30)) b2 = backup_utils.create_backup(datetime(2017, 2, 2, 16, 30)) b3 = backup_utils.create_backup(datetime(2017, 2, 1, 16, 30)) expected_list = [b1, b3, b2] actual_list = [b1, b3, b2] # when Backup.sort_backups_by_create_time_desc(actual_list) # then self.assertListEqual(expected_list, actual_list)
def create_backup_daily_sequence(count, table=Table(), start_date=datetime(2017, 2, 1, 16, 30)): backups = [] for _ in range(count): backup = create_backup(start_date, table) backups.append(backup) start_date += timedelta(days=1) return Backup.sort_backups_by_create_time_desc(backups)
def filter(self, backups, table_reference): sorted_backups = Backup.sort_backups_by_create_time_desc(backups) young_backups, old_backups = BackupAgeDivider.divide_backups_by_age( sorted_backups) backups_to_retain = young_backups if old_backups: backups_to_retain.append(old_backups[0]) return backups_to_retain
def test_should_sort_backups_by_create_time_desc(self): # given b1 = backup_utils.create_backup(datetime(2017, 2, 3, 16, 30)) b2 = backup_utils.create_backup(datetime(2017, 2, 2, 16, 30)) b3 = backup_utils.create_backup(datetime(2017, 2, 1, 16, 30)) expected_list = [b1, b2, b3] # when sorted_backups = Backup.sort_backups_by_create_time_desc([b1, b3, b2]) # then self.assertListEqual(expected_list, sorted_backups)
def sortAndAssertListEqual(self, backup_list1, backup_list2): sorted_list1 = Backup.sort_backups_by_create_time_desc(backup_list1) sorted_list2 = Backup.sort_backups_by_create_time_desc(backup_list2) self.assertListEqual(sorted_list1, sorted_list2)