Coverage report: 89%

Files Functions Classes

coverage.py v7.6.12, created at 2025-05-16 11:18 +0000

File function statements missing excluded coverage
o2/__init__.py (no function) 0 0 0 100%
o2/actions/base_actions/add_datetime_rule_base_action.py AddDateTimeRuleBaseAction.apply 16 1 0 94%
o2/actions/base_actions/add_datetime_rule_base_action.py AddDateTimeRuleBaseAction.rate_self 1 1 0 0%
o2/actions/base_actions/add_datetime_rule_base_action.py AddDateTimeRuleBaseAction.get_default_rating 1 1 0 0%
o2/actions/base_actions/add_datetime_rule_base_action.py AddDateTimeRuleAction.rate_self 1 0 0 100%
o2/actions/base_actions/add_datetime_rule_base_action.py (no function) 35 0 0 100%
o2/actions/base_actions/add_ready_large_wt_rule_base_action.py AddReadyLargeWTRuleBaseAction.apply 27 6 0 78%
o2/actions/base_actions/add_ready_large_wt_rule_base_action.py AddReadyLargeWTRuleBaseAction.rate_self 1 1 0 0%
o2/actions/base_actions/add_ready_large_wt_rule_base_action.py AddReadyLargeWTRuleBaseAction.get_default_rating 1 0 0 100%
o2/actions/base_actions/add_ready_large_wt_rule_base_action.py AddReadyLargeWTRuleAction.rate_self 1 0 0 100%
o2/actions/base_actions/add_ready_large_wt_rule_base_action.py (no function) 34 0 0 100%
o2/actions/base_actions/add_size_rule_base_action.py AddSizeRuleBaseAction.apply 16 16 0 0%
o2/actions/base_actions/add_size_rule_base_action.py AddSizeRuleBaseAction.rate_self 1 1 0 0%
o2/actions/base_actions/add_size_rule_base_action.py AddSizeRuleBaseAction.get_default_rating 1 1 0 0%
o2/actions/base_actions/add_size_rule_base_action.py AddSizeRuleAction.rate_self 4 4 0 0%
o2/actions/base_actions/add_size_rule_base_action.py (no function) 32 0 0 100%
o2/actions/base_actions/base_action.py BaseAction.apply 1 1 0 0%
o2/actions/base_actions/base_action.py BaseAction.rate_self 1 1 0 0%
o2/actions/base_actions/base_action.py BaseAction.check_if_valid 8 0 0 100%
o2/actions/base_actions/base_action.py BaseAction.__str__ 0 0 2 100%
o2/actions/base_actions/base_action.py BaseAction.__eq__ 3 3 0 0%
o2/actions/base_actions/base_action.py BaseAction.id 1 0 0 100%
o2/actions/base_actions/base_action.py (no function) 25 0 5 100%
o2/actions/base_actions/batching_rule_base_action.py (no function) 12 0 0 100%
o2/actions/base_actions/modify_calendar_base_action.py ModifyCalendarBaseAction.apply 26 2 0 92%
o2/actions/base_actions/modify_calendar_base_action.py ModifyCalendarBaseAction.rate_self 1 1 0 0%
o2/actions/base_actions/modify_calendar_base_action.py ModifyCalendarBaseAction.__str__ 0 0 12 100%
o2/actions/base_actions/modify_calendar_base_action.py ModifyCalendarBaseAction.get_default_rating 13 8 0 38%
o2/actions/base_actions/modify_calendar_base_action.py (no function) 30 0 4 100%
o2/actions/base_actions/modify_resource_base_action.py ModifyResourceBaseAction.apply 10 1 0 90%
o2/actions/base_actions/modify_resource_base_action.py ModifyResourceBaseAction.rate_self 1 1 0 0%
o2/actions/base_actions/modify_resource_base_action.py ModifyResourceBaseAction.__str__ 0 0 8 100%
o2/actions/base_actions/modify_resource_base_action.py ModifyResourceBaseAction.get_default_rating 13 7 0 46%
o2/actions/base_actions/modify_resource_base_action.py (no function) 26 0 3 100%
o2/actions/base_actions/modify_size_rule_base_action.py ModifySizeRuleBaseAction.apply 19 6 0 68%
o2/actions/base_actions/modify_size_rule_base_action.py ModifySizeRuleBaseAction.get_dominant_distribution 1 1 0 0%
o2/actions/base_actions/modify_size_rule_base_action.py ModifySizeRuleBaseAction.rate_self 1 1 0 0%
o2/actions/base_actions/modify_size_rule_base_action.py ModifySizeRuleBaseAction.get_default_rating 1 0 0 100%
o2/actions/base_actions/modify_size_rule_base_action.py ModifySizeRuleAction.rate_self 1 0 0 100%
o2/actions/base_actions/modify_size_rule_base_action.py (no function) 29 0 0 100%
o2/actions/base_actions/shift_datetime_rule_base_action.py ShiftDateTimeRuleBaseAction.apply 26 3 0 88%
o2/actions/base_actions/shift_datetime_rule_base_action.py ShiftDateTimeRuleBaseAction.get_dominant_distribution 1 1 0 0%
o2/actions/base_actions/shift_datetime_rule_base_action.py ShiftDateTimeRuleAction.rate_self 1 0 0 100%
o2/actions/base_actions/shift_datetime_rule_base_action.py (no function) 28 0 0 100%
o2/actions/batching_actions/add_date_time_rule_by_availability_action.py AddDateTimeRuleByAvailabilityAction.rate_self 11 2 0 82%
o2/actions/batching_actions/add_date_time_rule_by_availability_action.py (no function) 12 0 0 100%
o2/actions/batching_actions/add_date_time_rule_by_enablement_action.py AddDateTimeRuleByEnablementAction.rate_self 11 2 0 82%
o2/actions/batching_actions/add_date_time_rule_by_enablement_action.py (no function) 15 0 0 100%
o2/actions/batching_actions/add_date_time_rule_by_start_action.py AddDateTimeRuleByStartAction.rate_self 16 3 0 81%
o2/actions/batching_actions/add_date_time_rule_by_start_action.py (no function) 16 0 0 100%
o2/actions/batching_actions/add_large_wt_rule_by_idle_action.py AddLargeWTRuleByIdleAction.rate_self 25 2 0 92%
o2/actions/batching_actions/add_large_wt_rule_by_idle_action.py (no function) 16 0 0 100%
o2/actions/batching_actions/add_large_wt_rule_by_wt_action.py AddLargeWTRuleByWTAction.rate_self 7 1 0 86%
o2/actions/batching_actions/add_large_wt_rule_by_wt_action.py (no function) 15 0 0 100%
o2/actions/batching_actions/add_ready_wt_rule_by_wt_action.py AddReadyWTRuleByWTAction.rate_self 7 1 0 86%
o2/actions/batching_actions/add_ready_wt_rule_by_wt_action.py (no function) 15 0 0 100%
o2/actions/batching_actions/modify_daily_hour_rule_action.py ModifyDailyHourRuleAction.apply 22 8 0 64%
o2/actions/batching_actions/modify_daily_hour_rule_action.py ModifyDailyHourRuleAction.rate_self 5 0 0 100%
o2/actions/batching_actions/modify_daily_hour_rule_action.py (no function) 23 0 0 100%
o2/actions/batching_actions/modify_large_ready_wt_of_significant_rule_action.py ModifyLargeReadyWtOfSignificantRuleAction.apply 26 9 0 65%
o2/actions/batching_actions/modify_large_ready_wt_of_significant_rule_action.py ModifyLargeReadyWtOfSignificantRuleAction.rate_self 1 0 0 100%
o2/actions/batching_actions/modify_large_ready_wt_of_significant_rule_action.py (no function) 21 0 0 100%
o2/actions/batching_actions/modify_size_of_significant_rule_action.py ModifySizeOfSignificantRuleAction.apply 25 1 0 96%
o2/actions/batching_actions/modify_size_of_significant_rule_action.py ModifySizeOfSignificantRuleAction.rate_self 1 0 0 100%
o2/actions/batching_actions/modify_size_of_significant_rule_action.py (no function) 20 0 0 100%
o2/actions/batching_actions/modify_size_rule_by_allocation_action.py ModifySizeRuleByLowAllocationAction.rate_self 11 11 0 0%
o2/actions/batching_actions/modify_size_rule_by_allocation_action.py ModifySizeRuleByHighAllocationAction.rate_self 9 9 0 0%
o2/actions/batching_actions/modify_size_rule_by_allocation_action.py (no function) 18 0 0 100%
o2/actions/batching_actions/modify_size_rule_by_cost_action.py ModifySizeRuleByCostAction.rate_self 9 1 0 89%
o2/actions/batching_actions/modify_size_rule_by_cost_action.py (no function) 14 0 0 100%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py rate_self_helper_by_metric_dict 27 22 0 19%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py ModifySizeRuleByCostFnRepetitiveTasksAction.rate_self 3 3 0 0%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py ModifySizeRuleByCostFnHighCostsAction.rate_self 3 0 0 100%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py ModifySizeRuleByCostFnLowProcessingTimeAction.rate_self 3 3 0 0%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py ModifyBatchSizeIfNoCostImprovementAction.rate_self 29 3 0 90%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py ModifySizeRuleByCostFnLowCycleTimeImpactAction.rate_self 39 39 0 0%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py ModifySizeRuleByManySimilarEnablementsAction.rate_self 3 3 0 0%
o2/actions/batching_actions/modify_size_rule_by_cost_fn_action.py (no function) 38 0 0 100%
o2/actions/batching_actions/modify_size_rule_by_duration_fn_action.py ModifyBatchSizeIfNoDurationImprovementAction.rate_self 28 28 0 0%
o2/actions/batching_actions/modify_size_rule_by_duration_fn_action.py ModifySizeRuleByDurationFnCostImpactAction.rate_self 34 34 0 0%
o2/actions/batching_actions/modify_size_rule_by_duration_fn_action.py (no function) 20 0 0 100%
o2/actions/batching_actions/modify_size_rule_by_utilization_action.py ModifySizeRuleByLowUtilizationAction.rate_self 17 17 0 0%
o2/actions/batching_actions/modify_size_rule_by_utilization_action.py ModifySizeRuleByHighUtilizationAction.rate_self 12 12 0 0%
o2/actions/batching_actions/modify_size_rule_by_utilization_action.py (no function) 18 0 0 100%
o2/actions/batching_actions/modify_size_rule_by_wt_action.py ModifySizeRuleByWTAction.rate_self 12 1 0 92%
o2/actions/batching_actions/modify_size_rule_by_wt_action.py (no function) 16 0 0 100%
o2/actions/batching_actions/random_action.py RandomAction.rate_self 50 1 0 98%
o2/actions/batching_actions/random_action.py (no function) 25 0 0 100%
o2/actions/batching_actions/remove_date_time_rule_action.py RemoveDateTimeRuleAction.apply 20 1 0 95%
o2/actions/batching_actions/remove_date_time_rule_action.py RemoveDateTimeRuleAction.rate_self 1 0 0 100%
o2/actions/batching_actions/remove_date_time_rule_action.py (no function) 17 0 0 100%
o2/actions/batching_actions/remove_rule_action.py RemoveRuleAction.apply 12 2 0 83%
o2/actions/batching_actions/remove_rule_action.py RemoveRuleAction.rate_self 6 4 0 33%
o2/actions/batching_actions/remove_rule_action.py (no function) 20 0 0 100%
o2/actions/legacy_optimos_actions/add_resource_action.py AddResourceAction.rate_self 29 4 0 86%
o2/actions/legacy_optimos_actions/add_resource_action.py AddResourceAction._find_least_done_task_to_remove 13 3 0 77%
o2/actions/legacy_optimos_actions/add_resource_action.py (no function) 13 0 0 100%
o2/actions/legacy_optimos_actions/modify_calendar_by_cost_action.py ModifyCalendarByCostAction.rate_self 24 1 0 96%
o2/actions/legacy_optimos_actions/modify_calendar_by_cost_action.py (no function) 12 0 0 100%
o2/actions/legacy_optimos_actions/modify_calendar_by_it_action.py ModifyCalendarByITAction.rate_self 29 9 0 69%
o2/actions/legacy_optimos_actions/modify_calendar_by_it_action.py (no function) 11 0 0 100%
o2/actions/legacy_optimos_actions/modify_calendar_by_wt_action.py ModifyCalendarByWTAction.rate_self 23 2 0 91%
o2/actions/legacy_optimos_actions/modify_calendar_by_wt_action.py (no function) 11 0 0 100%
o2/actions/legacy_optimos_actions/remove_resource_by_cost_action.py RemoveResourceByCostAction.rate_self 6 0 0 100%
o2/actions/legacy_optimos_actions/remove_resource_by_cost_action.py (no function) 10 0 0 100%
o2/actions/legacy_optimos_actions/remove_resource_by_utilization_action.py RemoveResourceByUtilizationAction.rate_self 8 0 0 100%
o2/actions/legacy_optimos_actions/remove_resource_by_utilization_action.py (no function) 10 0 0 100%
o2/agents/agent.py Agent.__init__ 8 0 0 100%
o2/agents/agent.py Agent.select_actions 26 8 0 69%
o2/agents/agent.py Agent.get_valid_actions 34 8 0 76%
o2/agents/agent.py Agent.set_action_generators 4 0 0 100%
o2/agents/agent.py Agent.process_many_solutions 4 0 0 100%
o2/agents/agent.py Agent.set_new_base_solution 9 1 0 89%
o2/agents/agent.py Agent.try_solution 1 0 0 100%
o2/agents/agent.py Agent.find_new_base_solution 1 1 0 0%
o2/agents/agent.py (no function) 50 0 0 100%
o2/agents/ppo_agent.py PPOAgent.__init__ 11 0 0 100%
o2/agents/ppo_agent.py PPOAgent.select_actions 20 2 0 90%
o2/agents/ppo_agent.py PPOAgent.find_new_base_solution 1 0 0 100%
o2/agents/ppo_agent.py PPOAgent.process_many_solutions 3 0 0 100%
o2/agents/ppo_agent.py PPOAgent._result_callback 26 8 0 69%
o2/agents/ppo_agent.py PPOAgent.get_env 1 0 0 100%
o2/agents/ppo_agent.py PPOAgent.update_state 4 0 0 100%
o2/agents/ppo_agent.py PPOAgent.step_info_from_try 17 0 0 100%
o2/agents/ppo_agent.py (no function) 30 0 2 100%
o2/agents/ppo_agent_random.py PPOAgentRandom.__init__ 2 0 0 100%
o2/agents/ppo_agent_random.py PPOAgentRandom.get_env 1 0 0 100%
o2/agents/ppo_agent_random.py PPOAgentRandom.update_state 4 4 0 0%
o2/agents/ppo_agent_random.py (no function) 16 0 0 100%
o2/agents/simulated_annealing_agent.py SimulatedAnnealingAgent.__init__ 20 2 0 90%
o2/agents/simulated_annealing_agent.py SimulatedAnnealingAgent.find_new_base_solution 22 2 0 91%
o2/agents/simulated_annealing_agent.py SimulatedAnnealingAgent._select_new_base_evaluation 15 1 0 93%
o2/agents/simulated_annealing_agent.py SimulatedAnnealingAgent._accept_worse_solution 2 0 0 100%
o2/agents/simulated_annealing_agent.py (no function) 18 0 0 100%
o2/agents/simulated_annealing_agent_random.py SimulatedAnnealingAgentRandom.__init__ 3 0 0 100%
o2/agents/simulated_annealing_agent_random.py (no function) 5 0 0 100%
o2/agents/tabu_agent.py TabuAgent.find_new_base_solution 4 0 0 100%
o2/agents/tabu_agent.py TabuAgent.process_many_solutions 8 0 0 100%
o2/agents/tabu_agent.py TabuAgent.get_max_distance 5 0 0 100%
o2/agents/tabu_agent.py TabuAgent._select_new_base_evaluation 7 0 0 100%
o2/agents/tabu_agent.py (no function) 14 0 0 100%
o2/agents/tabu_agent_random.py TabuAgentRandom.__init__ 3 0 0 100%
o2/agents/tabu_agent_random.py (no function) 5 0 0 100%
o2/models/constraints/__init__.py (no function) 8 0 0 100%
o2/models/constraints/batching_constraints.py BatchingConstraints.verify_timetable 1 1 0 0%
o2/models/constraints/batching_constraints.py (no function) 13 0 2 100%
o2/models/constraints/constraints_type.py ConstraintsType.verify_legacy_constraints 1 0 0 100%
o2/models/constraints/constraints_type.py ConstraintsType.verify_batching_constraints 1 0 0 100%
o2/models/constraints/constraints_type.py ConstraintsType.get_legacy_constraints_for_resource 1 0 0 100%
o2/models/constraints/constraints_type.py ConstraintsType.get_batching_constraints_for_task 1 1 0 0%
o2/models/constraints/constraints_type.py ConstraintsType.get_batching_size_rule_constraints 1 0 0 100%
o2/models/constraints/constraints_type.py ConstraintsType.get_batching_ready_wt_rule_constraints 1 1 0 0%
o2/models/constraints/constraints_type.py ConstraintsType.get_batching_large_wt_rule_constraints 1 1 0 0%
o2/models/constraints/constraints_type.py ConstraintsType.get_week_day_rule_constraints 1 1 0 0%
o2/models/constraints/constraints_type.py ConstraintsType.get_daily_hour_rule_constraints 1 1 0 0%
o2/models/constraints/constraints_type.py ConstraintsType.get_fixed_cost_fn_for_task 5 1 0 80%
o2/models/constraints/constraints_type.py ConstraintsType.get_duration_fn_for_task 5 0 0 100%
o2/models/constraints/constraints_type.py (no function) 40 0 2 100%
o2/models/constraints/daily_hour_rule_constraints.py DailyHourRuleConstraints.verify_timetable 2 0 0 100%
o2/models/constraints/daily_hour_rule_constraints.py DailyHourRuleConstraints._verify_firing_rule 1 0 0 100%
o2/models/constraints/daily_hour_rule_constraints.py DailyHourRuleConstraints.allowed_hours_for_day 1 1 0 0%
o2/models/constraints/daily_hour_rule_constraints.py DailyHourRuleConstraints.allow_all 1 1 0 0%
o2/models/constraints/daily_hour_rule_constraints.py is_daily_hour_constraint 1 1 0 0%
o2/models/constraints/daily_hour_rule_constraints.py (no function) 19 0 2 100%
o2/models/constraints/large_wt_rule_constraints.py LargeWtRuleConstraints.verify_timetable 2 0 0 100%
o2/models/constraints/large_wt_rule_constraints.py LargeWtRuleConstraints._verify_firing_rule 1 0 0 100%
o2/models/constraints/large_wt_rule_constraints.py is_large_wt_constraint 1 1 0 0%
o2/models/constraints/large_wt_rule_constraints.py (no function) 16 0 2 100%
o2/models/constraints/ready_wt_rule_constraints.py ReadyWtRuleConstraints.verify_timetable 2 0 0 100%
o2/models/constraints/ready_wt_rule_constraints.py ReadyWtRuleConstraints._verify_firing_rule 1 0 0 100%
o2/models/constraints/ready_wt_rule_constraints.py is_ready_wt_constraint 1 1 0 0%
o2/models/constraints/ready_wt_rule_constraints.py (no function) 16 0 2 100%
o2/models/constraints/size_rule_constraints.py SizeRuleConstraints.verify_timetable 2 0 0 100%
o2/models/constraints/size_rule_constraints.py SizeRuleConstraints._verify_firing_rule 9 4 0 56%
o2/models/constraints/size_rule_constraints.py SizeRuleConstraints.cost_fn_lambda 1 0 0 100%
o2/models/constraints/size_rule_constraints.py SizeRuleConstraints.duration_fn_lambda 1 1 0 0%
o2/models/constraints/size_rule_constraints.py is_size_constraint 1 0 0 100%
o2/models/constraints/size_rule_constraints.py (no function) 23 0 2 100%
o2/models/constraints/week_day_rule_constraints.py WeekDayRuleConstraints.verify_timetable 2 0 0 100%
o2/models/constraints/week_day_rule_constraints.py WeekDayRuleConstraints._verify_firing_rule 1 0 0 100%
o2/models/constraints/week_day_rule_constraints.py is_week_day_constraint 1 1 0 0%
o2/models/constraints/week_day_rule_constraints.py (no function) 16 0 2 100%
o2/models/days.py DAY.next_day 2 2 0 0%
o2/models/days.py DAY.previous_day 2 2 0 0%
o2/models/days.py DAY.from_weekday 1 0 0 100%
o2/models/days.py DAY.from_date 1 0 0 100%
o2/models/days.py day_range 3 0 0 100%
o2/models/days.py is_day_in_range 1 0 0 100%
o2/models/days.py (no function) 19 0 0 100%
o2/models/evaluation.py Evaluation.total_processing_cost_for_tasks 1 1 0 0%
o2/models/evaluation.py Evaluation.total_cost_for_worked_time 1 0 0 100%
o2/models/evaluation.py Evaluation.total_cost_for_available_time 1 0 0 100%
o2/models/evaluation.py Evaluation.avg_cost_by_case 1 0 0 100%
o2/models/evaluation.py Evaluation.avg_resource_utilization_by_case 1 0 0 100%
o2/models/evaluation.py Evaluation.resource_worked_times 1 0 0 100%
o2/models/evaluation.py Evaluation.resource_available_times 1 0 0 100%
o2/models/evaluation.py Evaluation.resource_utilizations 1 0 0 100%
o2/models/evaluation.py Evaluation.total_fixed_cost 1 0 0 100%
o2/models/evaluation.py Evaluation.total_cost 1 0 0 100%
o2/models/evaluation.py Evaluation.total_resource_idle_time 1 0 0 100%
o2/models/evaluation.py Evaluation.total_task_idle_time 1 0 0 100%
o2/models/evaluation.py Evaluation.pareto_x 11 4 0 64%
o2/models/evaluation.py Evaluation.pareto_y 5 1 0 80%
o2/models/evaluation.py Evaluation.get_avg_waiting_time_of_task_id 1 0 0 100%
o2/models/evaluation.py Evaluation.get_total_waiting_time_of_task_id 1 0 0 100%
o2/models/evaluation.py Evaluation.get_max_waiting_time_of_task_id 1 1 0 0%
o2/models/evaluation.py Evaluation.get_task_names_sorted_by_waiting_time_desc 2 0 0 100%
o2/models/evaluation.py Evaluation.get_task_names_sorted_by_idle_time_desc 2 0 0 100%
o2/models/evaluation.py Evaluation.get_most_frequent_enablement_weekdays 1 0 0 100%
o2/models/evaluation.py Evaluation.get_most_frequent_resources 1 0 0 100%
o2/models/evaluation.py Evaluation.get_least_utilized_resources 1 0 0 100%
o2/models/evaluation.py Evaluation.get_tasks_sorted_by_occurrences_of_wt_and_it 2 0 0 100%
o2/models/evaluation.py Evaluation.get_task_execution_count_by_resource 1 0 0 100%
o2/models/evaluation.py Evaluation.get_avg_processing_cost_per_task 1 1 0 0%
o2/models/evaluation.py Evaluation.get_avg_cost_per_task 1 0 0 100%
o2/models/evaluation.py Evaluation.get_total_cost_per_task 1 0 0 100%
o2/models/evaluation.py Evaluation.get_resources_sorted_by_task_execution_count 2 0 0 100%
o2/models/evaluation.py Evaluation.get_total_processing_time_per_task 1 0 0 100%
o2/models/evaluation.py Evaluation.get_average_processing_time_per_task 1 0 0 100%
o2/models/evaluation.py Evaluation.get_total_duration_time_per_task 1 0 0 100%
o2/models/evaluation.py Evaluation.get_avg_duration_time_per_task 1 0 0 100%
o2/models/evaluation.py Evaluation.get_total_idle_time_of_task_id 1 0 0 100%
o2/models/evaluation.py Evaluation.get_total_cycle_time_of_task_id 1 0 0 100%
o2/models/evaluation.py Evaluation.to_tuple 1 0 0 100%
o2/models/evaluation.py Evaluation.distance_to 1 0 0 100%
o2/models/evaluation.py Evaluation.is_dominated_by 3 1 0 67%
o2/models/evaluation.py Evaluation.__str__ 0 0 2 100%
o2/models/evaluation.py Evaluation.get_task_enablement_weekdays 16 1 0 94%
o2/models/evaluation.py Evaluation.get_task_started_at_weekdays 16 1 0 94%
o2/models/evaluation.py Evaluation._get_events_for_task 1 1 0 0%
o2/models/evaluation.py Evaluation.get_resource_started_weekdays 1 0 0 100%
o2/models/evaluation.py Evaluation.get_task_execution_counts 5 0 0 100%
o2/models/evaluation.py Evaluation.get_task_execution_count_with_wt_or_it 8 0 0 100%
o2/models/evaluation.py Evaluation.get_task_execution_count_by_resources 7 0 0 100%
o2/models/evaluation.py Evaluation.get_resource_task_started_weekdays 18 1 0 94%
o2/models/evaluation.py Evaluation.get_resource_allocation_ratio 9 0 0 100%
o2/models/evaluation.py Evaluation.get_tasks_by_number_of_duplicate_enablement_dates 16 1 0 94%
o2/models/evaluation.py Evaluation.get_batches_by_activity_with_idle 9 0 0 100%
o2/models/evaluation.py Evaluation.get_average_batch_size_per_task 7 0 0 100%
o2/models/evaluation.py Evaluation.get_avg_batch_size_for_batch_enabled_tasks 3 0 0 100%
o2/models/evaluation.py Evaluation.empty 1 0 0 100%
o2/models/evaluation.py Evaluation.from_run_simulation_result 25 2 0 92%
o2/models/evaluation.py Evaluation.achieved_cycle_time 1 1 0 0%
o2/models/evaluation.py (no function) 159 0 3 100%
o2/models/json_report.py JSONReport.from_store 1 0 0 100%
o2/models/json_report.py _JSONParetoFront.from_pareto_front 1 0 0 100%
o2/models/json_report.py _JSONResourceInfo.from_resource 18 0 0 100%
o2/models/json_report.py _JSONAction.from_action 1 0 0 100%
o2/models/json_report.py _JSONSolution.from_state_evaluation 3 0 0 100%
o2/models/json_report.py (no function) 107 0 0 100%
o2/models/legacy_approach.py LegacyApproach.calendar_is_disabled 1 1 0 0%
o2/models/legacy_approach.py LegacyApproach.resource_is_disabled 1 1 0 0%
o2/models/legacy_approach.py LegacyApproach.from_abbreviation 11 11 0 0%
o2/models/legacy_approach.py (no function) 20 0 2 100%
o2/models/legacy_constraints.py WorkMasks.has_hour_for_day 1 0 0 100%
o2/models/legacy_constraints.py WorkMasks.get 1 0 0 100%
o2/models/legacy_constraints.py WorkMasks.has_intersection 6 0 0 100%
o2/models/legacy_constraints.py WorkMasks.is_super_set 6 0 0 100%
o2/models/legacy_constraints.py WorkMasks.is_subset 6 0 0 100%
o2/models/legacy_constraints.py WorkMasks.set_hour_for_day 1 0 0 100%
o2/models/legacy_constraints.py WorkMasks.set_hour_for_every_day 1 0 0 100%
o2/models/legacy_constraints.py WorkMasks.set_hour_range_for_day 1 0 0 100%
o2/models/legacy_constraints.py WorkMasks.set_hour_range_for_every_day 1 0 0 100%
o2/models/legacy_constraints.py WorkMasks.all_day 1 0 0 100%
o2/models/legacy_constraints.py GlobalConstraints.verify_timetable 1 0 0 100%
o2/models/legacy_constraints.py ConstraintsResourcesItem.verify_timetable 5 0 0 100%
o2/models/legacy_constraints.py ConstraintsResourcesItem._verify_calendar 1 0 0 100%
o2/models/legacy_constraints.py (no function) 46 0 2 100%
o2/models/rule_selector.py RuleSelector.from_batching_rule 1 0 0 100%
o2/models/rule_selector.py RuleSelector.has_firing_rule 1 1 0 0%
o2/models/rule_selector.py RuleSelector.get_batching_rule_from_state 1 0 0 100%
o2/models/rule_selector.py RuleSelector.get_firing_rule_from_state 10 4 0 60%
o2/models/rule_selector.py RuleSelector.id 3 1 0 67%
o2/models/rule_selector.py RuleSelector.__str__ 0 0 11 100%
o2/models/rule_selector.py (no function) 14 0 4 100%
o2/models/self_rating.py (no function) 8 0 0 100%
o2/models/settings.py ActionVariationSelection.ordered 7 0 0 100%
o2/models/settings.py ActionVariationSelection.inner 9 0 0 100%
o2/models/settings.py ActionVariationSelection.infinite_max_variants 5 5 0 0%
o2/models/settings.py Settings.get_pareto_x_label 0 0 13 100%
o2/models/settings.py Settings.get_pareto_y_label 0 0 7 100%
o2/models/settings.py (no function) 140 0 4 100%
o2/models/solution.py Solution.evaluation 7 3 0 57%
o2/models/solution.py Solution.evaluation 1 0 0 100%
o2/models/solution.py Solution.timetable 1 0 0 100%
o2/models/solution.py Solution.state 5 2 2 60%
o2/models/solution.py Solution.state 1 0 0 100%
o2/models/solution.py Solution.is_base_solution 1 0 0 100%
o2/models/solution.py Solution.last_action 1 0 0 100%
o2/models/solution.py Solution.point 1 0 0 100%
o2/models/solution.py Solution.pareto_x 1 0 0 100%
o2/models/solution.py Solution.pareto_y 1 0 0 100%
o2/models/solution.py Solution.distance_to 1 0 0 100%
o2/models/solution.py Solution.is_dominated_by 3 0 0 100%
o2/models/solution.py Solution.has_equal_point 1 1 0 0%
o2/models/solution.py Solution.archive 16 16 0 0%
o2/models/solution.py Solution.__eq__ 5 0 0 100%
o2/models/solution.py Solution._cache_timetable_hash 1 0 0 100%
o2/models/solution.py Solution.__hash__ 5 0 0 100%
o2/models/solution.py Solution.is_valid 1 0 0 100%
o2/models/solution.py Solution.id 4 0 0 100%
o2/models/solution.py Solution.hash_action_list 3 1 0 67%
o2/models/solution.py Solution.from_parent 5 0 0 100%
o2/models/solution.py Solution.empty 1 1 0 0%
o2/models/solution.py Solution.empty_from_parent 1 0 0 100%
o2/models/solution.py (no function) 59 0 0 100%
o2/models/solution_tree.py SolutionTree.__init__ 2 0 0 100%
o2/models/solution_tree.py SolutionTree.add_solution 4 1 0 75%
o2/models/solution_tree.py SolutionTree.add_solution_as_discarded 1 0 2 100%
o2/models/solution_tree.py SolutionTree.get_nearest_solution 40 12 0 70%
o2/models/solution_tree.py SolutionTree.discarded_solutions 1 0 0 100%
o2/models/solution_tree.py SolutionTree.solutions_left 1 0 0 100%
o2/models/solution_tree.py SolutionTree.total_solutions 1 0 0 100%
o2/models/solution_tree.py SolutionTree.pop_nearest_solution 8 0 0 100%
o2/models/solution_tree.py SolutionTree.check_if_already_done 1 0 0 100%
o2/models/solution_tree.py SolutionTree.get_index_of_solution 1 0 0 100%
o2/models/solution_tree.py SolutionTree.get_solutions_near_to_pareto_front 6 0 0 100%
o2/models/solution_tree.py SolutionTree.get_random_solution_near_to_pareto_front 6 6 0 0%
o2/models/solution_tree.py SolutionTree.remove_solution 2 0 2 100%
o2/models/solution_tree.py (no function) 29 0 2 100%
o2/models/state.py State.replace_timetable 1 0 0 100%
o2/models/state.py State.evaluate 12 2 0 83%
o2/models/state.py State.to_sim_diff_setup 6 1 0 83%
o2/models/state.py State.get_name_of_task 4 4 0 0%
o2/models/state.py State.get_task_names 3 0 0 100%
o2/models/state.py State.is_valid 1 0 0 100%
o2/models/state.py TabuState.__init__ 0 0 0 100%
o2/models/state.py TabuState.is_valid 1 1 0 0%
o2/models/state.py (no function) 25 0 2 100%
o2/models/timetable/__init__.py (no function) 18 0 0 100%
o2/models/timetable/batch_type.py (no function) 5 0 0 100%
o2/models/timetable/batching_rule.py BatchingRule.__post_init__ 4 0 0 100%
o2/models/timetable/batching_rule.py BatchingRule.__eq__ 11 5 0 55%
o2/models/timetable/batching_rule.py BatchingRule.__hash__ 3 3 0 0%
o2/models/timetable/batching_rule.py BatchingRule.id 1 1 0 0%
o2/models/timetable/batching_rule.py BatchingRule.get_firing_rule_selectors 1 0 0 100%
o2/models/timetable/batching_rule.py BatchingRule.get_time_period_for_daily_hour_firing_rules 22 0 0 100%
o2/models/timetable/batching_rule.py BatchingRule.get_firing_rule 9 3 0 67%
o2/models/timetable/batching_rule.py BatchingRule.can_remove_firing_rule 7 7 0 0%
o2/models/timetable/batching_rule.py BatchingRule.remove_firing_rule 14 2 0 86%
o2/models/timetable/batching_rule.py BatchingRule.generate_distrib 26 6 0 77%
o2/models/timetable/batching_rule.py BatchingRule.replace_firing_rule 13 0 0 100%
o2/models/timetable/batching_rule.py BatchingRule.add_firing_rule 4 1 0 75%
o2/models/timetable/batching_rule.py BatchingRule.add_firing_rules 4 0 0 100%
o2/models/timetable/batching_rule.py BatchingRule._generate_merged_datetime_firing_rules 44 4 0 91%
o2/models/timetable/batching_rule.py BatchingRule._find_max_size 3 0 0 100%
o2/models/timetable/batching_rule.py BatchingRule.is_valid 27 5 0 81%
o2/models/timetable/batching_rule.py BatchingRule.from_task_id 4 0 0 100%
o2/models/timetable/batching_rule.py (no function) 41 0 0 100%
o2/models/timetable/comparator.py (no function) 7 0 0 100%
o2/models/timetable/distribution.py (no function) 7 0 0 100%
o2/models/timetable/distribution_parameter.py (no function) 6 0 0 100%
o2/models/timetable/distribution_type.py (no function) 10 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.__eq__ 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.id 1 1 0 0%
o2/models/timetable/firing_rule.py FiringRule.is_gte 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.is_lt 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.is_eq 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.is_lte 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.is_gt 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.is_gt_or_gte 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.is_lt_or_lte 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.eq 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.gte 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.lt 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.lte 1 0 0 100%
o2/models/timetable/firing_rule.py FiringRule.gt 1 1 0 0%
o2/models/timetable/firing_rule.py rule_is_large_wt 1 1 0 0%
o2/models/timetable/firing_rule.py rule_is_week_day 1 0 0 100%
o2/models/timetable/firing_rule.py rule_is_size 1 0 0 100%
o2/models/timetable/firing_rule.py rule_is_ready_wt 1 1 0 0%
o2/models/timetable/firing_rule.py rule_is_daily_hour 1 0 0 100%
o2/models/timetable/firing_rule.py (no function) 47 0 0 100%
o2/models/timetable/gateway_branching_probability.py (no function) 10 0 0 100%
o2/models/timetable/granule_size.py (no function) 9 0 0 100%
o2/models/timetable/multitask.py (no function) 31 0 0 100%
o2/models/timetable/resource.py Resource.get_total_cost 4 1 0 75%
o2/models/timetable/resource.py Resource.can_safely_be_removed 7 1 0 86%
o2/models/timetable/resource.py Resource.clone 6 0 0 100%
o2/models/timetable/resource.py Resource.remove_task 1 0 0 100%
o2/models/timetable/resource.py Resource.is_clone_of 2 0 0 100%
o2/models/timetable/resource.py (no function) 17 0 2 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.is_valid 12 1 0 92%
o2/models/timetable/resource_calendar.py ResourceCalendar.split_group_by_day 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.split_time_periods_by_day 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.get_periods_for_day 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.get_periods_containing_day 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.work_masks 2 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.get_period_index_by_id 4 1 0 75%
o2/models/timetable/resource_calendar.py ResourceCalendar.total_hours 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.max_consecutive_hours 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.max_periods_per_day 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.max_hours_per_day 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.total_periods 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.uid 1 1 0 0%
o2/models/timetable/resource_calendar.py ResourceCalendar.__hash__ 1 1 0 0%
o2/models/timetable/resource_calendar.py ResourceCalendar.replace_time_period 12 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.bitmasks_by_day 1 0 0 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.__str__ 0 0 2 100%
o2/models/timetable/resource_calendar.py ResourceCalendar.get_time_periods_of_length_excl_idle 6 1 0 83%
o2/models/timetable/resource_calendar.py (no function) 44 0 1 100%
o2/models/timetable/resource_pool.py ResourcePool.remove_resource 1 0 0 100%
o2/models/timetable/resource_pool.py ResourcePool.update_resource 1 0 0 100%
o2/models/timetable/resource_pool.py (no function) 11 0 0 100%
o2/models/timetable/rule_type.py (no function) 7 0 0 100%
o2/models/timetable/task_resource_distribution.py TaskResourceDistributions.remove_resource 1 0 0 100%
o2/models/timetable/task_resource_distribution.py TaskResourceDistributions.add_resource 1 0 0 100%
o2/models/timetable/task_resource_distribution.py TaskResourceDistributions.add_resource_based_on_original 5 1 0 80%
o2/models/timetable/task_resource_distribution.py TaskResourceDistributions.get_highest_availability_time_period 22 1 0 95%
o2/models/timetable/task_resource_distribution.py TaskResourceDistributions.resource_ids 1 1 0 0%
o2/models/timetable/task_resource_distribution.py (no function) 29 0 2 100%
o2/models/timetable/time_period.py TimePeriod.model_dump 5 0 0 100%
o2/models/timetable/time_period.py TimePeriod.model_dump_json 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.model_validate 7 0 0 100%
o2/models/timetable/time_period.py TimePeriod.model_validate_json 2 0 0 100%
o2/models/timetable/time_period.py TimePeriod.handle_aliases 7 3 0 57%
o2/models/timetable/time_period.py TimePeriod.begin_time_hour 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.end_time_hour 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.begin_time_minute 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.begin_time_second 4 1 0 75%
o2/models/timetable/time_period.py TimePeriod.end_time_second 4 0 0 100%
o2/models/timetable/time_period.py TimePeriod.end_time_minute 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.duration 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.is_empty 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.add_hours_before 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.add_hours_after 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.shift_hours 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod._modify 8 0 0 100%
o2/models/timetable/time_period.py TimePeriod.split_by_day 5 1 0 80%
o2/models/timetable/time_period.py TimePeriod.to_bitmask 7 0 0 100%
o2/models/timetable/time_period.py TimePeriod.__repr__ 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.from_bitmask 2 0 0 100%
o2/models/timetable/time_period.py TimePeriod.from_start_end 4 0 0 100%
o2/models/timetable/time_period.py TimePeriod.empty 1 0 0 100%
o2/models/timetable/time_period.py TimePeriod.id 1 0 0 100%
o2/models/timetable/time_period.py (no function) 61 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.init_fixed_cost_fns 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_batching_rule 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_batching_rules_for_task 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_batching_rules_for_tasks 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_firing_rules_for_task 1 1 0 0%
o2/models/timetable/timetable_type.py TimetableType.get_longest_time_period_for_daily_hour_firing_rules 14 1 0 93%
o2/models/timetable/timetable_type.py TimetableType.get_firing_rule_selectors_for_task 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_firing_rule_selectors_for_tasks 1 1 0 0%
o2/models/timetable/timetable_type.py TimetableType.get_firing_rules_for_tasks 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_resource 5 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_tasks 4 1 0 75%
o2/models/timetable/timetable_type.py TimetableType.get_task_resource_distribution 4 1 0 75%
o2/models/timetable/timetable_type.py TimetableType.get_resources_assigned_to_task 4 1 0 75%
o2/models/timetable/timetable_type.py TimetableType.get_task_ids_assigned_to_resource 1 1 0 0%
o2/models/timetable/timetable_type.py TimetableType.get_resource_profiles_containing_resource 1 1 0 0%
o2/models/timetable/timetable_type.py TimetableType.get_resource_profile 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_resource_calendar_id 4 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_hourly_rates 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_fixed_cost_fns 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_calendar_for_resource 4 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_calendar_for_base_resource 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_calendars_for_resource_clones 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_calendar 4 1 0 75%
o2/models/timetable/timetable_type.py TimetableType.get_all_resources 2 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_deleted_resources 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_resources_with_cost 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.replace_batching_rule 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.replace_firing_rule 5 1 0 80%
o2/models/timetable/timetable_type.py TimetableType.add_firing_rule 6 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.replace_resource_calendar 2 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.remove_resource 7 1 0 86%
o2/models/timetable/timetable_type.py TimetableType.clone_resource 10 2 0 80%
o2/models/timetable/timetable_type.py TimetableType.remove_task_from_resource 7 1 0 86%
o2/models/timetable/timetable_type.py TimetableType.get_task_ids 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.get_highest_availability_time_period 4 1 0 75%
o2/models/timetable/timetable_type.py TimetableType.max_total_hours_per_resource 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.max_consecutive_hours_per_resource 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.max_periods_per_day_per_resource 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.batching_rules_exist 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType._clone_resource_calendars 4 1 0 75%
o2/models/timetable/timetable_type.py TimetableType._clone_task_distributions 3 0 0 100%
o2/models/timetable/timetable_type.py TimetableType._clone_resource_profiles 3 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.batching_rules_debug_str 0 0 12 100%
o2/models/timetable/timetable_type.py TimetableType.print_batching_rules 0 0 2 100%
o2/models/timetable/timetable_type.py TimetableType.is_valid 1 0 0 100%
o2/models/timetable/timetable_type.py TimetableType.__hash__ 4 0 0 100%
o2/models/timetable/timetable_type.py (no function) 90 0 6 100%
o2/optimizer.py Optimizer.__init__ 7 0 5 100%
o2/optimizer.py Optimizer._init_agent 17 1 0 94%
o2/optimizer.py Optimizer.solve 6 0 8 100%
o2/optimizer.py Optimizer.get_iteration_generator 66 11 5 83%
o2/optimizer.py Optimizer._print_result 7 1 0 86%
o2/optimizer.py Optimizer._print_time_estimate 7 0 0 100%
o2/optimizer.py Optimizer._execute_actions_parallel 7 0 10 100%
o2/optimizer.py (no function) 24 0 0 100%
o2/pareto_front.py ParetoFront.__init__ 2 0 0 100%
o2/pareto_front.py ParetoFront.size 1 0 0 100%
o2/pareto_front.py ParetoFront.avg_y 3 0 0 100%
o2/pareto_front.py ParetoFront.avg_x 3 0 0 100%
o2/pareto_front.py ParetoFront.median_y 3 0 0 100%
o2/pareto_front.py ParetoFront.median_x 3 0 0 100%
o2/pareto_front.py ParetoFront.min_y 3 0 0 100%
o2/pareto_front.py ParetoFront.min_x 3 0 0 100%
o2/pareto_front.py ParetoFront.max_y 3 0 0 100%
o2/pareto_front.py ParetoFront.max_x 3 0 0 100%
o2/pareto_front.py ParetoFront.avg_per_case_cost 3 0 0 100%
o2/pareto_front.py ParetoFront.avg_total_cost 3 0 0 100%
o2/pareto_front.py ParetoFront.avg_cycle_time 3 0 0 100%
o2/pareto_front.py ParetoFront.min_cycle_time 3 0 0 100%
o2/pareto_front.py ParetoFront.avg_point 3 0 0 100%
o2/pareto_front.py ParetoFront.avg_distance_to 3 0 0 100%
o2/pareto_front.py ParetoFront.add 2 0 0 100%
o2/pareto_front.py ParetoFront.is_in_front 13 0 0 100%
o2/pareto_front.py ParetoFront.is_dominated_by 1 0 0 100%
o2/pareto_front.py ParetoFront.is_dominated_by_evaluation 1 0 0 100%
o2/pareto_front.py ParetoFront.get_bounding_rect 5 0 0 100%
o2/pareto_front.py (no function) 48 0 2 100%
o2/ppo_utils/ppo_env.py PPOEnv.__init__ 9 0 0 100%
o2/ppo_utils/ppo_env.py PPOEnv.reset 9 0 0 100%
o2/ppo_utils/ppo_env.py PPOEnv.step 0 0 7 100%
o2/ppo_utils/ppo_env.py PPOEnv.action_masks 0 0 4 100%
o2/ppo_utils/ppo_env.py PPOEnv.render 0 0 5 100%
o2/ppo_utils/ppo_env.py (no function) 9 0 3 100%
o2/ppo_utils/ppo_env_random.py PPOEnvRandom.__init__ 9 0 0 100%
o2/ppo_utils/ppo_env_random.py PPOEnvRandom.reset 9 9 0 0%
o2/ppo_utils/ppo_env_random.py PPOEnvRandom.step 0 0 7 100%
o2/ppo_utils/ppo_env_random.py PPOEnvRandom.action_masks 0 0 4 100%
o2/ppo_utils/ppo_env_random.py PPOEnvRandom.render 0 0 5 100%
o2/ppo_utils/ppo_env_random.py (no function) 9 0 3 100%
o2/ppo_utils/ppo_input.py PPOInput.get_observation_space 8 0 0 100%
o2/ppo_utils/ppo_input.py PPOInput._get_task_features 17 0 0 100%
o2/ppo_utils/ppo_input.py PPOInput._get_resource_features 17 0 0 100%
o2/ppo_utils/ppo_input.py PPOInput.get_state_from_store 3 0 0 100%
o2/ppo_utils/ppo_input.py PPOInput.get_action_space_from_actions 1 0 0 100%
o2/ppo_utils/ppo_input.py PPOInput.get_actions_from_store 18 0 0 100%
o2/ppo_utils/ppo_input.py PPOInput.get_action_mask_from_actions 2 0 0 100%
o2/ppo_utils/ppo_input.py PPOInput._clean_np_array 1 0 0 100%
o2/ppo_utils/ppo_input.py (no function) 34 0 0 100%
o2/simulation_runner.py SimulationRunner.run_simulation 14 1 0 93%
o2/simulation_runner.py SimulationRunner.run_simulation_median 11 0 15 100%
o2/simulation_runner.py SimulationRunner.close_executor 3 2 0 33%
o2/simulation_runner.py (no function) 27 0 2 100%
o2/store.py Store.__init__ 11 0 0 100%
o2/store.py Store.current_pareto_front 1 0 0 100%
o2/store.py Store.base_solution 1 0 0 100%
o2/store.py Store.base_evaluation 1 0 0 100%
o2/store.py Store.base_state 1 0 0 100%
o2/store.py Store.base_timetable 1 0 0 100%
o2/store.py Store.current_evaluation 1 0 0 100%
o2/store.py Store.current_timetable 1 0 0 100%
o2/store.py Store.current_state 1 0 0 100%
o2/store.py Store.mark_action_as_tabu 2 2 0 0%
o2/store.py Store.process_many_solutions 25 1 0 96%
o2/store.py Store.run_action 2 2 0 0%
o2/store.py Store.try_solution 10 4 0 60%
o2/store.py Store.is_tabu 1 0 0 100%
o2/store.py Store.from_state_and_constraints 4 0 0 100%
o2/store.py (no function) 36 0 3 100%
o2/util/bit_mask_helper.py bitmask_to_string 1 0 0 100%
o2/util/bit_mask_helper.py string_to_bitmask 1 0 0 100%
o2/util/bit_mask_helper.py bitmask_to_array 1 0 0 100%
o2/util/bit_mask_helper.py array_to_bitmask 1 1 0 0%
o2/util/bit_mask_helper.py get_ranges_from_bitmask 12 1 0 92%
o2/util/bit_mask_helper.py has_overlap 1 1 0 0%
o2/util/bit_mask_helper.py any_has_overlap 6 0 0 100%
o2/util/bit_mask_helper.py find_most_frequent_overlap 49 0 0 100%
o2/util/bit_mask_helper.py find_mixed_ranges_in_bitmask 16 1 0 94%
o2/util/bit_mask_helper.py (no function) 11 0 0 100%
o2/util/custom_dumper.py CustomDumper.__init_subclass__ 2 0 0 100%
o2/util/custom_dumper.py CustomDumper.dump_with_time_period 1 0 0 100%
o2/util/custom_dumper.py CustomLoader.__init_subclass__ 2 0 0 100%
o2/util/custom_dumper.py CustomLoader.load_to_time_period 7 3 0 57%
o2/util/custom_dumper.py (no function) 11 0 0 100%
o2/util/helper.py random_string 1 0 0 100%
o2/util/helper.py name_is_clone_of 2 0 0 100%
o2/util/helper.py safe_list_index 4 4 0 0%
o2/util/helper.py hash_int 1 0 0 100%
o2/util/helper.py hash_string 1 0 0 100%
o2/util/helper.py hex_id 5 0 0 100%
o2/util/helper.py cached_lambdify 1 0 0 100%
o2/util/helper.py lambdify_dict 1 1 0 0%
o2/util/helper.py with_signature_from 1 0 0 100%
o2/util/helper.py select_variant 22 1 0 95%
o2/util/helper.py select_variants 1 0 0 100%
o2/util/helper.py (no function) 27 0 2 100%
o2/util/indented_printer.py print_l0 1 0 0 100%
o2/util/indented_printer.py print_l1 1 0 0 100%
o2/util/indented_printer.py print_l2 1 0 0 100%
o2/util/indented_printer.py print_l3 1 0 0 100%
o2/util/indented_printer.py print_l4 1 0 0 100%
o2/util/indented_printer.py (no function) 17 0 0 100%
o2/util/sim_diff_setup_fileless.py SimDiffSetupFileless.__init__ 15 1 0 93%
o2/util/sim_diff_setup_fileless.py SimDiffSetupFileless.parse_json_sim_parameters_from_string 18 0 0 100%
o2/util/sim_diff_setup_fileless.py (no function) 20 0 0 100%
o2/util/stat_calculation_helper.py distance 1 0 0 100%
o2/util/stat_calculation_helper.py calculate_hyperarea 13 0 0 100%
o2/util/stat_calculation_helper.py generational_distance_p2 14 0 0 100%
o2/util/stat_calculation_helper.py calculate_averaged_hausdorff_distance 5 0 0 100%
o2/util/stat_calculation_helper.py calculate_delta_metric 22 2 0 91%
o2/util/stat_calculation_helper.py calculate_purity 4 0 0 100%
o2/util/stat_calculation_helper.py (no function) 9 0 0 100%
o2/util/waiting_time_helper.py get_batches_from_event_log 27 1 0 96%
o2/util/waiting_time_helper.py (no function) 43 0 0 100%
Total   5117 585 225 89%

No items found using the specified filter.