def test_overlap(self): org = self.get_organization() category_1 = org.category_set.get(name='C1') Agent.objects.filter(organization=org, name__in=['A2', 'A3']).delete() task_1 = Task(organization=org, name='E1', start_time=self.get_time(10), end_time=self.get_time(20), category=category_1) task_1.save() task_2 = Task(organization=org, name='E2', start_time=self.get_time(15), end_time=self.get_time(23), category=category_1) task_2.save() s = Scheduler(org) result_list = s.solve(verbose=False) result_dict = s.result_by_agent(result_list) self.assertEqual({}, result_dict) task_2.start_time = self.get_time(21) task_2.save() s = Scheduler(org) result_list = s.solve(verbose=False) result_dict = s.result_by_agent(result_list) self.assertEqual({1: {1, 2}}, result_dict) task_2.start_time = self.get_time(20) task_2.save() s = Scheduler(org) result_list = s.solve(verbose=False) result_dict = s.result_by_agent(result_list) self.assertEqual({1: {1, 2}}, result_dict) task_2.start_time = self.get_time(5) task_2.end_time = self.get_time(10) task_2.save() s = Scheduler(org) result_list = s.solve(verbose=False) result_dict = s.result_by_agent(result_list) self.assertEqual({1: {1, 2}}, result_dict) task_2.start_time = self.get_time(5) task_2.end_time = self.get_time(11) task_2.save() s = Scheduler(org) result_list = s.solve(verbose=False) result_dict = s.result_by_agent(result_list) self.assertEqual({}, result_dict) task_2.start_time = self.get_time(5) task_2.end_time = self.get_time(23) task_2.save() s = Scheduler(org) result_list = s.solve(verbose=False) result_dict = s.result_by_agent(result_list) self.assertEqual({}, result_dict) task_2.start_time = self.get_time(12) task_2.end_time = self.get_time(17) task_2.save() s = Scheduler(org) result_list = s.solve(verbose=False) result_dict = s.result_by_agent(result_list) self.assertEqual({}, result_dict)