Files that need more tests in order of number of missed lines (see [codecov](https://app.codecov.io/gh/Pabloo22/job_shop_lib?search=&trend=7%20days&displayType=list): - [ ] [job_shop_lib/visualization/gantt/_gantt_chart_video_and_gif_creation.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fvisualization%2Fgantt%2F_gantt_chart_video_and_gif_creation.py) - [x] [job_shop_lib/dispatching/rules/_dispatching_rules_functions.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2Frules%2F_dispatching_rules_functions.py) - [X] job_shop_lib/dispatching/rules/_utils.py (it's gonna be deleted in v2) - [ ] [job_shop_lib/graphs/graph_updaters/_disjunctive_graph_updater.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgraphs%2Fgraph_updaters%2F_disjunctive_graph_updater.py) - [X] [job_shop_lib/reinforcement_learning/_single_job_shop_graph_env.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Freinforcement_learning%2F_single_job_shop_graph_env.py) (it's going to be refactored in v2) - [X] [job_shop_lib/graphs/_node.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgraphs%2F_node.py) (it's going to be refactored in v2) - [x] [job_shop_lib/dispatching/feature_observers/_feature_observer.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2Ffeature_observers%2F_feature_observer.py) - [ ] [job_shop_lib/dispatching/_dispatcher.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2F_dispatcher.py) - [ ] [job_shop_lib/generation/_utils.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgeneration%2F_utils.py) - [ ] [job_shop_lib/graphs/_build_disjunctive_graph.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgraphs%2F_build_disjunctive_graph.py) - [X] [job_shop_lib/reinforcement_learning/_multi_job_shop_graph_env.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Freinforcement_learning%2F_multi_job_shop_graph_env.py) - [ ] [job_shop_lib/reinforcement_learning/_utils.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Freinforcement_learning%2F_utils.py) - [ ] [job_shop_lib/visualization/gantt/_gantt_chart_creator.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fvisualization%2Fgantt%2F_gantt_chart_creator.py) - [ ] [job_shop_lib/graphs/graph_updaters/_residual_graph_updater.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgraphs%2Fgraph_updaters%2F_residual_graph_updater.py) - [X] [job_shop_lib/graphs/_job_shop_graph.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgraphs%2F_job_shop_graph.py) (it's going to be refactored in v2) - [ ] [job_shop_lib/dispatching/_optimal_operations_observer.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2F_optimal_operations_observer.py) - [x] [job_shop_lib/_job_shop_instance.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2F_job_shop_instance.py) - [ ] [job_shop_lib/_schedule.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2F_schedule.py) - [ ] [job_shop_lib/dispatching/_unscheduled_operations_observer.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2F_unscheduled_operations_observer.py) - [ ] [job_shop_lib/generation/_general_instance_generator.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgeneration%2F_general_instance_generator.py) - [ ] [job_shop_lib/generation/_instance_generator.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fgeneration%2F_instance_generator.py) - [ ] [job_shop_lib/reinforcement_learning/_resource_task_graph_observation.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Freinforcement_learning%2F_resource_task_graph_observation.py) - [x] [job_shop_lib/_operation.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2F_operation.py) - [ ] [job_shop_lib/_scheduled_operation.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2F_scheduled_operation.py) - [ ] [job_shop_lib/dispatching/_factories.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2F_factories.py) - [ ] [job_shop_lib/dispatching/rules/_machine_chooser_factory.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2Frules%2F_machine_chooser_factory.py) - [ ] [job_shop_lib/visualization/gantt/_plot_gantt_chart.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fvisualization%2Fgantt%2F_plot_gantt_chart.py) - [ ] [job_shop_lib/visualization/graphs/_plot_resource_task_graph.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fvisualization%2Fgraphs%2F_plot_resource_task_graph.py) - [ ] [job_shop_lib/dispatching/_dispatcher_observer_config.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2F_dispatcher_observer_config.py) - [ ] [job_shop_lib/dispatching/_ready_operation_filters.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2F_ready_operation_filters.py) - [ ] [job_shop_lib/dispatching/_start_time_calculators.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2F_start_time_calculators.py) - [ ] [job_shop_lib/dispatching/feature_observers/_is_ready_observer.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fdispatching%2Ffeature_observers%2F_is_ready_observer.py) - [ ] [job_shop_lib/visualization/graphs/_plot_disjunctive_graph.py](https://app.codecov.io/gh/Pabloo22/job_shop_lib/blob/main/job_shop_lib%2Fvisualization%2Fgraphs%2F_plot_disjunctive_graph.py)
Files that need more tests in order of number of missed lines (see codecov: