コード例 #1
0
class TestPlan(unittest.TestCase):
    def setUp(self):
        self.storage_plan = PlanStorageAdapter(_TEST_DB)
        self.storage_task = TaskStorageAdapter(_TEST_DB)
        self.storage_user = UserStorageAdapter(_TEST_DB)
        self.storage_project = ProjectStorageAdapter(_TEST_DB)

        user = User()
        self.storage_user.save_user(user)
        project = Project()
        project.creator = 1
        self.storage_project.save_project(project)

    def test_save_plan(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        task2 = Task()
        task2.pid = 1
        task2.title = 'Title 2'

        self.storage_task.save_task(task1)
        self.storage_task.save_task(task2)

        plan = Plan()
        plan.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan.exclude = [3, 5]
        plan.tid = 2

        success = self.storage_plan.save_plan(plan)
        self.assertEqual(success, True)

    def test_get_plans_for_common_tid(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        task2 = Task()
        task2.pid = 1
        task2.title = 'Title 2'

        self.storage_task.save_task(task1)
        self.storage_task.save_task(task2)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan1.exclude = [3, 5]
        plan1.tid = 2

        plan2 = Plan()
        plan2.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=4))
        plan2.exclude = [2, 8]
        plan2.tid = 1

        self.storage_plan.save_plan(plan1)
        self.storage_plan.save_plan(plan2)

        plans = self.storage_plan.get_plans(common_tid=1)
        self.assertEqual(len(plans), 1)

        plan2.plan_id = 2

        self.assertEqual(plans[0], plan2)

    def test_plans_delete_repeat(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan1.exclude = [3, 5]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        self.storage_plan.delete_plan_repeat(1, 8)

        plan_in_database = self.storage_plan.get_plans(plan_id=1)[0]

        plan1.plan_id = 1
        plan1.exclude.append(8)

        self.assertEqual(plan_in_database, plan1)

    def test_plans_restore_repeat(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan1.exclude = [3, 5]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        self.storage_plan.delete_plan_repeat(1, 8)
        success = self.storage_plan.restore_plan_repeat(1, 8)
        self.assertEqual(success, True)

        plan_in_database = self.storage_plan.get_plans(plan_id=1)[0]

        plan1.plan_id = 1
        self.assertEqual(plan_in_database, plan1)

    def test_plans_edit_repeat(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan1.exclude = []
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        task2 = Task()
        task2.pid = 1
        task2.title = 'Title 2'

        self.storage_task.save_task(task2)

        success = self.storage_plan.edit_plan_repeat(1, 8, 2)
        self.assertEqual(success, True)

        plan_in_db = self.storage_plan.get_plans(1)[0]

        plan1.plan_id = 1
        plan1.exclude.append(8)
        self.assertEqual(plan_in_db, plan1)

    def test_exclude_delete_type(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan1.exclude = []
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        self.storage_plan.delete_plan_repeat(1, 8)
        exclude_type = self.storage_plan.get_exclude_type(1, 8)
        self.assertEqual(exclude_type, Plan.PlanExcludeKind.DELETED)

    def test_exclude_edit_type(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        task2 = Task()
        task2.pid = 1
        task2.title = 'Title 2'

        self.storage_task.save_task(task2)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan1.exclude = []
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        self.storage_plan.edit_plan_repeat(1, 8, 2)
        exclude_type = self.storage_plan.get_exclude_type(1, 8)
        self.assertEqual(exclude_type, Plan.PlanExcludeKind.EDITED)

    def test_make_shift_bigger(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        plan1.exclude = [0, 1, 2, 4]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        new_shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=6))
        args = {Plan.Field.plan_id: 1, Plan.Field.shift: new_shift}
        success = self.storage_plan.edit_plan(args)
        self.assertEqual(success, True)

        plans = self.storage_plan.get_plans(plan_id=1)[0]

        plan1.plan_id = 1
        plan1.shift = new_shift
        plan1.exclude = [0, 1, 2]
        self.assertEqual(plans, plan1)

    def test_make_shift_smaller(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) +
            datetime.timedelta(days=10))
        plan1.exclude = [0, 1, 3, 4]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        new_shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=3))
        args = {Plan.Field.plan_id: 1, Plan.Field.shift: new_shift}
        success = self.storage_plan.edit_plan(args)
        self.assertEqual(success, True)

        plans = self.storage_plan.get_plans(plan_id=1)[0]

        plan1.plan_id = 1
        plan1.shift = new_shift
        plan1.exclude = [0, 10]
        self.assertEqual(plans, plan1)

    def test_remove_plan(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) +
            datetime.timedelta(days=10))
        plan1.exclude = [0, 1, 3, 4]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        success = self.storage_plan.remove_plan(1)
        self.assertEqual(success, True)

        plans = self.storage_plan.get_plans(plan_id=1)
        self.assertEqual(plans, [])

    def test_recalculate_exclude_when_start_time_shifted_forward(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'
        task1.supposed_start_time = utils.datetime_to_milliseconds(
            datetime.datetime.today())

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=2))
        plan1.exclude = [0, 1, 3, 4]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        new_time = utils.datetime_to_milliseconds(datetime.datetime.today() +
                                                  datetime.timedelta(days=4))
        self.storage_task.edit_task({
            Task.Field.tid: 1,
            Task.Field.supposed_start_time: new_time
        })

        start_time_shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=4))
        success = self.storage_plan.recalculate_exclude_when_start_time_shifted(
            1, start_time_shift)
        self.assertEqual(success, True)

        plan = self.storage_plan.get_plans(plan_id=1)[0]
        plan1.plan_id = 1
        plan1.exclude = [1, 2]
        self.assertEqual(plan, plan1)

    def test_recalculate_exclude_when_start_time_shifted_differ(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'
        task1.supposed_start_time = utils.datetime_to_milliseconds(
            datetime.datetime.today())

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=2))
        plan1.exclude = [0, 1, 3, 4]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        new_time = utils.datetime_to_milliseconds(datetime.datetime.today() +
                                                  datetime.timedelta(days=1))
        self.storage_task.edit_task({
            Task.Field.tid: 1,
            Task.Field.supposed_start_time: new_time
        })

        start_time_shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=1))
        success = self.storage_plan.recalculate_exclude_when_start_time_shifted(
            1, start_time_shift)
        self.assertEqual(success, True)

        plan = self.storage_plan.get_plans(plan_id=1)[0]
        plan1.plan_id = 1
        plan1.exclude = []
        self.assertEqual(plan, plan1)

    def test_recalculate_exclude_when_start_time_shifted_backward(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'
        task1.supposed_start_time = utils.datetime_to_milliseconds(
            datetime.datetime.today())

        self.storage_task.save_task(task1)

        plan1 = Plan()
        plan1.shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=2))
        plan1.exclude = [0, 1, 3, 4]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        new_time = utils.datetime_to_milliseconds(datetime.datetime.today() -
                                                  datetime.timedelta(days=4))
        self.storage_task.edit_task({
            Task.Field.tid: 1,
            Task.Field.supposed_start_time: new_time
        })

        start_time_shift = utils.datetime_to_milliseconds(
            datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(days=4))
        success = self.storage_plan.recalculate_exclude_when_start_time_shifted(
            1, -start_time_shift)
        self.assertEqual(success, True)

        plan = self.storage_plan.get_plans(plan_id=1)[0]
        plan1.plan_id = 1
        plan1.exclude = [2, 3, 5, 6]
        self.assertEqual(plan, plan1)

    def test_remove_task_when_its_common_for_plan(self):
        task1 = Task()
        task1.pid = 1
        task1.title = 'Title 1'
        task1.supposed_start_time = utils.datetime_to_milliseconds(
            datetime.datetime.today())

        task2 = Task()
        task2.pid = 1
        task2.title = 'Title 2'
        task2.supposed_start_time = utils.datetime_to_milliseconds(
            datetime.datetime.today())

        self.storage_task.save_task(task1)
        self.storage_task.save_task(task2)

        plan1 = Plan()
        plan1.shift = utils.create_shift_in_millis(datetime.timedelta(days=2))
        plan1.exclude = [0, 1, 3, 4]
        plan1.tid = 1

        self.storage_plan.save_plan(plan1)

        success = self.storage_task.remove_task(1)
        self.assertEqual(success, True)

        tasks = self.storage_task.get_tasks()
        self.assertEqual(len(tasks), 1)

        task2.tid = 2
        self.assertEqual(tasks[0], task2)

        plans = self.storage_plan.get_plans()
        self.assertEqual(len(plans), 0)
コード例 #2
0
class TestTaskParentTid(unittest.TestCase):
    def setUp(self):
        self.storage = TaskStorageAdapter(_TEST_DB)
        self.user_storage = UserStorageAdapter(_TEST_DB)
        self.project_storage = ProjectStorageAdapter(_TEST_DB)

        user = User()
        self.user_storage.save_user(user)
        project = Project()
        project.creator = 1
        self.project_storage.save_project(project)

    def test_save_get_single_parent_tid(self):
        test_task_1 = Task()
        test_task_1.pid = 1
        test_task_1.title = 'vfdmk'
        test_task_1.description = 'vvkjndk'
        test_task_1.deadline_time = 23233

        test_task_2 = Task()
        test_task_2.pid = 1
        test_task_2.title = 'lmlkmlkml'
        test_task_2.description = 'vvkjndk'
        test_task_2.deadline_time = 23233

        test_task_3 = Task()
        test_task_3.pid = 1
        test_task_3.title = 'vfdmk'
        test_task_3.description = 'vvkjndk232332'
        test_task_3.deadline_time = 23233

        test_task_4 = Task()
        test_task_4.pid = 1
        test_task_4.title = 'vfdmk'
        test_task_4.description = 'vvkjndk232332'
        test_task_4.deadline_time = 23233

        self.storage.save_task(test_task_1)
        test_task_2.parent_tid = 1
        test_task_3.parent_tid = 1
        self.storage.save_task(test_task_2)
        self.storage.save_task(test_task_3)
        self.storage.save_task(test_task_4)

        filter = TaskStorageAdapter.Filter()
        filter.parent_tid(1)
        tasks_with_parent_1 = self.storage.get_tasks(filter)
        self.assertEqual(len(tasks_with_parent_1), 2)

        test_task_2.tid = 2
        test_task_3.tid = 3
        self.assertEqual(tasks_with_parent_1[0], test_task_2)
        self.assertEqual(tasks_with_parent_1[1], test_task_3)

    def test_save_remove_get_single_parent_tid(self):
        test_task_1 = Task()
        test_task_1.pid = 1
        test_task_1.title = 'vfdmk'
        test_task_1.description = 'vvkjndk'
        test_task_1.deadline_time = 23233

        test_task_2 = Task()
        test_task_2.pid = 1
        test_task_2.title = 'lmlkmlkml'
        test_task_2.description = 'vvkjndk'
        test_task_2.deadline_time = 23233
        test_task_2.parent_tid = 1

        test_task_3 = Task()
        test_task_3.pid = 1
        test_task_3.title = 'vfdmk'
        test_task_3.description = 'vvkjndk232332'
        test_task_3.deadline_time = 23233
        test_task_3.parent_tid = 1

        test_task_4 = Task()
        test_task_4.pid = 1
        test_task_4.title = 'vfdmk'
        test_task_4.description = 'vvkjndk232332'
        test_task_4.deadline_time = 23233

        self.storage.save_task(test_task_1)
        self.storage.save_task(test_task_2)
        self.storage.save_task(test_task_3)
        self.storage.save_task(test_task_4)

        success = self.storage.remove_task(1)
        self.assertEqual(success, True)

        tasks_in_db = self.storage.get_tasks()
        self.assertEqual(len(tasks_in_db), 1)

        test_task_4.tid = 4
        self.assertEqual(tasks_in_db[0], test_task_4)

    def test_save_remove_get_multi_parent_tid(self):
        test_task_1 = Task()
        test_task_1.pid = 1
        test_task_1.title = 'vfdmk'
        test_task_1.description = 'vvkjndk'
        test_task_1.deadline_time = 23233

        test_task_2 = Task()
        test_task_2.pid = 1
        test_task_2.title = 'lmlkmlkml'
        test_task_2.description = 'vvkjndk'
        test_task_2.deadline_time = 23233

        test_task_3 = Task()
        test_task_3.pid = 1
        test_task_3.title = 'vfdmk'
        test_task_3.description = 'vvkjndk232332'
        test_task_3.deadline_time = 23233

        test_task_4 = Task()
        test_task_4.pid = 1
        test_task_4.title = 'vfdmk'
        test_task_4.description = 'vvkjndk232332'
        test_task_4.deadline_time = 23233

        self.storage.save_task(test_task_1)
        test_task_2.parent_tid = 1
        test_task_3.parent_tid = 2
        test_task_4.parent_tid = 2
        self.storage.save_task(test_task_2)
        self.storage.save_task(test_task_3)
        self.storage.save_task(test_task_4)

        success = self.storage.remove_task(1)
        self.assertEqual(success, True)

        tasks_in_db = self.storage.get_tasks()
        self.assertEqual(len(tasks_in_db), 0)
コード例 #3
0
class TestTaskUser(unittest.TestCase):
    def setUp(self):
        self.storage_task = TaskStorageAdapter(_TEST_DB)
        self.storage_user = UserStorageAdapter(_TEST_DB)
        self.storage_project = ProjectStorageAdapter(_TEST_DB)

        user = User()
        self.storage_user.save_user(user)
        project = Project()
        project.creator = 1
        self.storage_project.save_project(project)

    def test_save_get_user_task(self):
        test_task = Task()
        test_task.pid = 1
        test_task.title = 'title 1'
        test_task.description = 'description 1'
        test_task.deadline_time = 23233

        test_user = User()
        test_user.login = '******'
        test_user.password = '******'
        test_user.online = True

        self.storage_user.save_user(test_user)
        test_user.uid = self.storage_user.get_users()[0].uid
        test_task.uid = test_user.uid
        self.storage_task.save_task(test_task)

        filter = TaskStorageAdapter.Filter()
        filter.uid(test_user.uid)
        tasks_in_db = self.storage_task.get_tasks(filter)
        self.assertEqual(len(tasks_in_db), 1)

        test_task.tid = tasks_in_db[0].tid
        self.assertEqual(test_task, tasks_in_db[0])

    def test_save_task_remove_user(self):
        test_task_1 = Task()
        test_task_1.pid = 1
        test_task_1.title = 'title 1'
        test_task_1.description = 'description 1'
        test_task_1.deadline_time = 23233

        test_task_2 = Task()
        test_task_2.pid = 1
        test_task_2.title = 'title 2'
        test_task_2.description = 'description 1'
        test_task_2.deadline_time = 23233

        test_user = User()
        test_user.login = '******'
        test_user.password = '******'
        test_user.online = True

        self.storage_user.save_user(test_user)
        test_user.uid = self.storage_user.get_users()[0].uid
        test_task_1.uid = test_user.uid
        self.storage_task.save_task(test_task_1)
        self.storage_task.save_task(test_task_2)

        self.storage_user.delete_user(test_user.uid)

        tasks_in_db = self.storage_task.get_tasks()
        self.assertEqual(len(tasks_in_db), 1)

        test_task_2.tid = tasks_in_db[0].tid
        self.assertEqual(test_task_2, tasks_in_db[0])
コード例 #4
0
class TestTask(unittest.TestCase):
    def setUp(self):
        self.storage = TaskStorageAdapter(_TEST_DB)
        self.project_storage = ProjectStorageAdapter(_TEST_DB)
        self.user_storage = UserStorageAdapter(_TEST_DB)

        user = User()
        self.user_storage.save_user(user)
        project = Project()
        project.creator = 1
        self.project_storage.save_project(project)

    def test_save_get_tasks(self):
        test_task = Task()
        test_task.pid = 1
        test_task.title = 'vfdmk'
        test_task.description = 'vvkjndk'
        test_task.deadline_time = 23233

        success = self.storage.save_task(test_task)
        self.assertEqual(success, True)
        success = self.storage.save_task(test_task)
        self.assertEqual(success, True)

        tasks_in_sqlite = self.storage.get_tasks()
        self.assertEqual(len(tasks_in_sqlite), 2)

        test_task.tid = 1
        self.assertEqual(tasks_in_sqlite[0], test_task)
        test_task.tid = 2
        self.assertEqual(tasks_in_sqlite[1], test_task)

    def test_save_get_title_filtered_tasks(self):
        test_task_1 = Task()
        test_task_1.pid = 1
        test_task_1.title = 'vfdmk'
        test_task_1.description = 'vvkjndk'
        test_task_1.deadline_time = 23233

        test_task_2 = Task()
        test_task_2.pid = 1
        test_task_2.title = 'lmlkmlkml'
        test_task_2.description = 'vvkjndk'
        test_task_2.deadline_time = 23233

        success = self.storage.save_task(test_task_1)
        self.assertEqual(success, True)
        success = self.storage.save_task(test_task_2)
        self.assertEqual(success, True)
        success = self.storage.save_task(test_task_1)
        self.assertEqual(success, True)

        filter = TaskStorageAdapter.Filter()
        filter.title('vfdmk')
        tasks_in_sqlite = self.storage.get_tasks(filter)
        self.assertEqual(len(tasks_in_sqlite), 2)

        test_task_1.tid = 1
        self.assertEqual(tasks_in_sqlite[0], test_task_1)

        test_task_1.tid = 3
        self.assertEqual(tasks_in_sqlite[1], test_task_1)

    def test_save_get_title_descr_filtered_tasks(self):
        test_task_1 = Task()
        test_task_1.pid = 1
        test_task_1.title = 'vfdmk'
        test_task_1.description = 'vvkjndk'
        test_task_1.deadline_time = 23233

        test_task_2 = Task()
        test_task_2.pid = 1
        test_task_2.title = 'lmlkmlkml'
        test_task_2.description = 'vvkjndk'
        test_task_2.deadline_time = 23233

        test_task_3 = Task()
        test_task_3.pid = 1
        test_task_3.title = 'vfdmk'
        test_task_3.description = 'vvkjndk232332'
        test_task_3.deadline_time = 23233

        success = self.storage.save_task(test_task_1)
        self.assertEqual(success, True)
        success = self.storage.save_task(test_task_2)
        self.assertEqual(success, True)
        success = self.storage.save_task(test_task_3)
        self.assertEqual(success, True)

        filter = TaskStorageAdapter.Filter()
        filter.title('vfdmk')
        filter.description('vvkjndk232332')
        tasks_in_sqlite = self.storage.get_tasks(filter)
        self.assertEqual(len(tasks_in_sqlite), 1)

        test_task_3.tid = 3
        self.assertEqual(tasks_in_sqlite[0], test_task_3)

    def test_save_get_all_filtered_tasks(self):
        test_task_1 = Task()
        test_task_1.pid = 1
        test_task_1.title = 'vfdmk'
        test_task_1.description = 'vvkjndk'
        test_task_1.deadline_time = 23233

        success = self.storage.save_task(test_task_1)
        self.assertEqual(success, True)
        success = self.storage.save_task(test_task_1)
        self.assertEqual(success, True)

        filter = TaskStorageAdapter.Filter()
        filter.title('2344243')
        tasks_in_sqlite = self.storage.get_tasks(filter)
        self.assertEqual(len(tasks_in_sqlite), 0)

    def test_save_remove_get_tasks(self):
        test_task = Task()
        test_task.pid = 1
        test_task.title = 'flkmerfkl'
        test_task.description = 'lkfmelkf'
        test_task.supposed_start_time = 232332
        test_task.supposed_end_time = 3423
        test_task.deadline_time = 2442324
        test_task.notificate_deadline = True

        self.storage.save_task(test_task)
        self.storage.save_task(test_task)

        tasks_in_db = self.storage.get_tasks()

        success = self.storage.remove_task(tasks_in_db[0].tid)
        self.assertEqual(success, True)

        tasks_in_db_after_delete = self.storage.get_tasks()

        self.assertEqual(len(tasks_in_db_after_delete), 1)
        self.assertEqual(tasks_in_db_after_delete[0], tasks_in_db[1])

    def test_save_edit_get_tasks(self):
        test_task = Task()
        test_task.pid = 1
        test_task.title = 'flkmerfkl'
        test_task.description = 'lkfmelkf'
        test_task.supposed_start_time = 232332
        test_task.supposed_end_time = 3423
        test_task.deadline_time = 2442324
        test_task.notificate_deadline = True

        edited_test_task = Task()
        edited_test_task.pid = 1
        edited_test_task.title = 'efnkrjf'
        edited_test_task.description = '23323223'
        edited_test_task.supposed_start_time = 232332
        edited_test_task.supposed_end_time = 23443
        edited_test_task.deadline_time = 2442324
        edited_test_task.notificate_deadline = False

        success = self.storage.save_task(test_task)
        self.assertEqual(success, True)
        success = self.storage.save_task(test_task)
        self.assertEqual(success, True)

        tasks_in_db = self.storage.get_tasks()

        edited_test_task.tid = tasks_in_db[0].tid
        success = self.storage.edit_task({
            Task.Field.tid: tasks_in_db[0].tid,
            Task.Field.title: 'efnkrjf',
            Task.Field.description: '23323223',
            Task.Field.supposed_start_time: 232332,
            Task.Field.supposed_end_time: 23443,
            Task.Field.deadline_time: 2442324,
            Task.Field.notificate_deadline: False
        })
        self.assertEqual(success, True)

        tasks_in_db_after_edit = self.storage.get_tasks()

        self.assertEqual(len(tasks_in_db_after_edit), 2)
        self.assertEqual(tasks_in_db_after_edit[0], edited_test_task)
        self.assertEqual(tasks_in_db_after_edit[1], tasks_in_db[1])