test_all_120_canonical_A_arrangements (test_stages.StageTests.test_all_120_canonical_A_arrangements) ... ok
test_all_adjacency_pairs_match_original (test_stages.StageTests.test_all_adjacency_pairs_match_original) ... ok
test_all_import_without_pyxel (test_stages.StageTests.test_all_import_without_pyxel) ... ok
test_bad_slot_is_ignored (test_stages.StageTests.test_bad_slot_is_ignored) ... ok
test_canonical_full_state_history_with_empty_actions (test_stages.StageTests.test_canonical_full_state_history_with_empty_actions) ... ok
test_eight_table_rows_and_nonmaterials (test_stages.StageTests.test_eight_table_rows_and_nonmaterials) ... ok
test_every_reachable_hand_configuration_matches_original (test_stages.StageTests.test_every_reachable_hand_configuration_matches_original) ... ok
test_explicit_stub_only_checks_12_draws_and_save_order (test_stages.StageTests.test_explicit_stub_only_checks_12_draws_and_save_order) ... ok
test_full_original_license_in_every_stage (test_stages.StageTests.test_full_original_license_in_every_stage) ... ok
test_initial_failure_and_documented_solution (test_stages.StageTests.test_initial_failure_and_documented_solution) ... ok
test_initial_state_frozen (test_stages.StageTests.test_initial_state_frozen) ... ok
test_key_hold_chord_and_staggered_release (test_stages.StageTests.test_key_hold_chord_and_staggered_release) ... ok
test_lessons_snippets_and_required_metadata (test_stages.StageTests.test_lessons_snippets_and_required_metadata) ... ok
test_no_loss_or_duplication_long_sequence (test_stages.StageTests.test_no_loss_or_duplication_long_sequence) ... ok
test_no_start_while_holding (test_stages.StageTests.test_no_start_while_holding) ... ok
test_pick_place_and_swap (test_stages.StageTests.test_pick_place_and_swap) ... ok
test_predict_is_pure (test_stages.StageTests.test_predict_is_pure) ... ok
test_request_needs_result_and_minimum_counts (test_stages.StageTests.test_request_needs_result_and_minimum_counts) ... ok
test_row_table_and_boundary (test_stages.StageTests.test_row_table_and_boundary) ... ok
test_same_prechange_snapshot_for_every_reaction (test_stages.StageTests.test_same_prechange_snapshot_for_every_reaction) ... ok
test_selection_wraps_within_rows_and_is_not_a_tick (test_stages.StageTests.test_selection_wraps_within_rows_and_is_not_a_tick) ... ok
test_shared_catalyst_not_consumed (test_stages.StageTests.test_shared_catalyst_not_consumed) ... ok
test_smoke_demonstration_reaches_expected_state (test_stages.StageTests.test_smoke_demonstration_reaches_expected_state) ... ok
test_stage_one_has_no_reaction_or_clock (test_stages.StageTests.test_stage_one_has_no_reaction_or_clock) ... ok
test_two_tick_boundary_and_terminal_freeze (test_stages.StageTests.test_two_tick_boundary_and_terminal_freeze) ... ok
test_undo_all_actions_including_result_and_reset (test_stages.StageTests.test_undo_all_actions_including_result_and_reset) ... ok
test_undo_does_not_rewind_cursor (test_stages.StageTests.test_undo_does_not_rewind_cursor) ... ok
test_undo_failed_start_does_not_add_history (test_stages.StageTests.test_undo_failed_start_does_not_add_history) ... ok
test_wrong_catalyst_diagonal_and_boundary (test_stages.StageTests.test_wrong_catalyst_diagonal_and_boundary) ... ok

----------------------------------------------------------------------
Ran 29 tests in 0.069s

OK
