> python -m unittest -v

test_all_configuration_solids_valid (test_project.EnclosureTests.test_all_configuration_solids_valid) ... ok
test_bend_allowance_uses_neutral_axis (test_project.EnclosureTests.test_bend_allowance_uses_neutral_axis) ... ok
test_cut_flat_has_eight_base_holes (test_project.EnclosureTests.test_cut_flat_has_eight_base_holes) ... ok
test_duplicate_configuration (test_project.EnclosureTests.test_duplicate_configuration) ... ok
test_extended_bend_radius_rejected (test_project.EnclosureTests.test_extended_bend_radius_rejected) ... ok
test_invalid_tolerance (test_project.EnclosureTests.test_invalid_tolerance) ... ok
test_invalid_values (test_project.EnclosureTests.test_invalid_values) ... ok
test_k_derivative (test_project.EnclosureTests.test_k_derivative) ... ok
test_oversized_electronics (test_project.EnclosureTests.test_oversized_electronics) ... ok
test_panel_cutouts (test_project.EnclosureTests.test_panel_cutouts) ... ok
test_shell_is_one_solid (test_project.EnclosureTests.test_shell_is_one_solid) ... ok
test_shell_section_integral (test_project.EnclosureTests.test_shell_section_integral) ... ok
test_thread_tips_do_not_meet (test_project.EnclosureTests.test_thread_tips_do_not_meet) ... ok
test_tolerance_rejects_uncalibrated_k (test_project.EnclosureTests.test_tolerance_rejects_uncalibrated_k) ... ok
test_unsafe_configuration_id (test_project.EnclosureTests.test_unsafe_configuration_id) ... ok
test_wider_variant_changes_flat_and_tray_width (test_project.EnclosureTests.test_wider_variant_changes_flat_and_tray_width) ... ok

----------------------------------------------------------------------
Ran 16 tests in 1.401s

OK

> python complete_validation.py
14 manufacturing/service outcomes matched expectations; 32 tolerance corners and 500 synthetic parts evaluated.


