def test_perform(): auto = Task("a", auto_task=True, state=BaseTaskState.WORKING) auto.perform(0, seed=1234) assert auto.remaining_work_amount == auto.default_work_amount - 1 task = Task("task") task.state = BaseTaskState.READY w1 = Worker("w1") w2 = Worker("w2") w1.workamount_skill_mean_map = {"task": 1.0} task.allocated_worker_list = [w1, w2] w1.assigned_task_list = [task] w2.assigned_task_list = [task] c = Component("a") c.append_targeted_task(task) task.perform(10) assert task.remaining_work_amount == task.default_work_amount assert task.target_component == c assert c.error == 0.0 task.state = BaseTaskState.WORKING task.perform(10) assert task.remaining_work_amount == task.default_work_amount - 1.0 assert task.target_component == c assert c.error == 0.0 # Next test case w1.workamount_skill_sd_map = {"task": 0.2} w1.quality_skill_mean_map = {"task": 0.9} w1.quality_skill_sd_map = {"task": 0.02} task.perform(11, seed=1234, increase_component_error=2.0) assert task.remaining_work_amount == 7.905712967253502 assert c.error == 2.0
def test_get_quality_skill_point(): """test_get_quality_skill_point.""" w = Worker("w1", "----") # w.set_quality_skill_mean_map( # {"task1": 1.0, "task2": 0.0}, update_other_skill_info=True # ) w.quality_skill_mean_map = {"task1": 1.0, "task2": 0.0} assert w.get_quality_skill_point("task3") == 0.0 assert w.get_quality_skill_point("task2") == 0.0 assert w.get_quality_skill_point("task1") == 1.0 task1 = Task("task1") task1.state = BaseTaskState.NONE w.assigned_task_list = [task1] assert w.get_quality_skill_point("task1") == 1.0 task1.state = BaseTaskState.READY assert w.get_quality_skill_point("task1") == 1.0 task1.state = BaseTaskState.WORKING_ADDITIONALLY assert w.get_quality_skill_point("task1") == 1.0 task1.state = BaseTaskState.FINISHED assert w.get_quality_skill_point("task1") == 1.0 task1.state = BaseTaskState.WORKING assert w.get_quality_skill_point("task1") == 1.0 w.quality_skill_sd_map["task1"] = 0.1 assert w.get_quality_skill_point("task1", seed=1234) == 1.0471435163732492 task2 = Task("task2") task2.state = BaseTaskState.NONE w.assigned_task_list.append(task2) w.quality_skill_sd_map["task1"] = 0.0 assert w.get_quality_skill_point("task1") == 1.0 task2.state = BaseTaskState.WORKING assert w.get_quality_skill_point("task1") == 1.0
def test_perform(): task = Task("task") task.state = BaseTaskState.WORKING w1 = Worker("w1") w2 = Worker("w2") w1.workamount_skill_mean_map = {"task": 1.0} task.allocated_worker_list = [w1, w2] w1.assigned_task_list = [task] w2.assigned_task_list = [task] c = Component("a") c.append_targeted_task(task) w = Workflow([task]) w.perform(10) assert task.remaining_work_amount == task.default_work_amount - 1.0 assert task.target_component == c assert c.error == 0.0
def test_initialize(): """test_initialize.""" team = Team("team") w = Worker("w1", team_id=team.ID) w.state = BaseWorkerState.WORKING w.cost_list = [9.0, 7.2] w.assigned_task_list = [Task("task")] w.initialize() assert w.state == BaseWorkerState.FREE assert w.cost_list == [] assert w.assigned_task_list == []
def test_initialize(): team = Team("team") w = Worker("w1", team_id=team.ID) w.state = BaseResourceState.WORKING w.cost_list = [9.0, 7.2] w.start_time_list = [0] w.finish_time_list = [1] w.assigned_task_list = [Task("task")] w.initialize() assert w.state == BaseResourceState.FREE assert w.cost_list == [] assert w.start_time_list == [] assert w.finish_time_list == [] assert w.assigned_task_list == []
def test_initialize(): """test_initialize.""" team = Team("team") team.cost_list = [9.0, 7.2] w = Worker("w1") team.worker_list = [w] w.state = BaseWorkerState.WORKING w.cost_list = [9.0, 7.2] w.assigned_task_list = [Task("task")] team.initialize() assert team.cost_list == [] assert w.state == BaseWorkerState.FREE assert w.cost_list == [] assert w.assigned_task_list == []
def test_get_work_amount_skill_progress(): """test_get_work_amount_skill_progress.""" w = Worker("w1", "----") # w.set_workamount_skill_mean_map( # {"task1": 1.0, "task2": 0.0}, update_other_skill_info=True # ) w.workamount_skill_mean_map = {"task1": 1.0, "task2": 0.0} assert w.get_work_amount_skill_progress("task3") == 0.0 assert w.get_work_amount_skill_progress("task2") == 0.0 with pytest.raises(ZeroDivisionError): assert w.get_work_amount_skill_progress("task1") == 1.0 task1 = Task("task1") task1.state = BaseTaskState.NONE w.assigned_task_list = [task1] with pytest.raises(ZeroDivisionError): assert w.get_work_amount_skill_progress("task1") == 1.0 task1.state = BaseTaskState.READY with pytest.raises(ZeroDivisionError): assert w.get_work_amount_skill_progress("task1") == 1.0 task1.state = BaseTaskState.WORKING_ADDITIONALLY assert w.get_work_amount_skill_progress("task1") == 1.0 task1.state = BaseTaskState.FINISHED with pytest.raises(ZeroDivisionError): assert w.get_work_amount_skill_progress("task1") == 1.0 task1.state = BaseTaskState.WORKING assert w.get_work_amount_skill_progress("task1") == 1.0 w.workamount_skill_sd_map["task1"] = 0.1 w.get_work_amount_skill_progress("task1", seed=1234) # seed test task2 = Task("task2") task2.state = BaseTaskState.NONE w.assigned_task_list.append(task2) w.workamount_skill_sd_map["task1"] = 0.0 assert w.get_work_amount_skill_progress("task1") == 1.0 task2.state = BaseTaskState.WORKING assert w.get_work_amount_skill_progress("task1") == 0.5