test_five_standalone_stages (test_stages.Assets.test_five_standalone_stages) ... ok
test_lessons_schema_and_real_snippets (test_stages.Assets.test_lessons_schema_and_real_snippets) ... ok
test_license_headers_and_pin (test_stages.Assets.test_license_headers_and_pin) ... ok
test_map_shared_and_markers (test_stages.Assets.test_map_shared_and_markers) ... ok
test_syntax_all_files (test_stages.Assets.test_syntax_all_files) ... ok
test_escape_exits (test_stages.ControllerStub.test_escape_exits) ... ok
test_headless_requests_twelve_draws_every_stage (test_stages.ControllerStub.test_headless_requests_twelve_draws_every_stage) ... ok
test_reset_precedes_movement (test_stages.ControllerStub.test_reset_precedes_movement) ... ok
test_simultaneous_arrows_make_at_most_one_step (test_stages.ControllerStub.test_simultaneous_arrows_make_at_most_one_step) ... ok
test_undo_precedes_movement (test_stages.ControllerStub.test_undo_precedes_movement) ... ok
test_blocked_not_saved_in_history (test_stages.History.test_blocked_not_saved_in_history) ... ok
test_empty_undo_safe (test_stages.History.test_empty_undo_safe) ... ok
test_frozen_snapshots (test_stages.History.test_frozen_snapshots) ... ok
test_restart_all_stages_and_clear_history (test_stages.History.test_restart_all_stages_and_clear_history) ... ok
test_undo_delivery_restores_heavy_cargo (test_stages.History.test_undo_delivery_restores_heavy_cargo) ... ok
test_undo_tide_used_position_and_inventory (test_stages.History.test_undo_tide_used_position_and_inventory) ... ok
test_undo_win_and_rewin (test_stages.History.test_undo_win_and_rewin) ... ok
test_a_and_b_bits_combined (test_stages.Rules.test_a_and_b_bits_combined) ... ok
test_all_bounds_and_water_free (test_stages.Rules.test_all_bounds_and_water_free) ... ok
test_bfs_finds_21_step_solution (test_stages.Rules.test_bfs_finds_21_step_solution) ... ok
test_blocked_moves_do_not_deliver_or_change_tide (test_stages.Rules.test_blocked_moves_do_not_deliver_or_change_tide) ... ok
test_blue_and_orange_bridge_gates (test_stages.Rules.test_blue_and_orange_bridge_gates) ... ok
test_clear_freezes_before_any_command (test_stages.Rules.test_clear_freezes_before_any_command) ... ok
test_delivery_occurs_on_arrival_once (test_stages.Rules.test_delivery_occurs_on_arrival_once) ... ok
test_heavy_bridge_depends_on_b_not_a (test_stages.Rules.test_heavy_bridge_depends_on_b_not_a) ... ok
test_invalid_input_free_every_stage (test_stages.Rules.test_invalid_input_free_every_stage) ... ok
test_return_and_both_deliveries_required (test_stages.Rules.test_return_and_both_deliveries_required) ... ok
test_solution_wins_on_return_step (test_stages.Rules.test_solution_wins_on_return_step) ... ok
test_stage_four_five_rules_identical (test_stages.Rules.test_stage_four_five_rules_identical) ... ok
test_stage_one_bridges_all_open (test_stages.Rules.test_stage_one_bridges_all_open) ... ok
test_stage_one_grid_step_and_free_block (test_stages.Rules.test_stage_one_grid_step_and_free_block) ... ok
test_stage_three_does_not_freeze_after_return (test_stages.Rules.test_stage_three_does_not_freeze_after_return) ... ok
test_stage_two_has_no_cargo_barrier (test_stages.Rules.test_stage_two_has_no_cargo_barrier) ... ok
test_tide_switch_all_islands (test_stages.Rules.test_tide_switch_all_islands) ... ok
test_tide_switch_every_bridge_is_free_rejection (test_stages.Rules.test_tide_switch_every_bridge_is_free_rejection) ... ok
test_tide_toggle_island_costs_one (test_stages.Rules.test_tide_toggle_island_costs_one) ... ok

----------------------------------------------------------------------
Ran 36 tests in 0.033s

OK
