test_01_six_fulfillment_cases (__main__.MetricsTests.test_01_six_fulfillment_cases) ... ok
test_02_late_receipt_cannot_rewrite_history (__main__.MetricsTests.test_02_late_receipt_cannot_rewrite_history) ... ok
test_03_split_receipt_keeps_results (__main__.MetricsTests.test_03_split_receipt_keeps_results) ... ok
test_04_overdelivery_capped (__main__.MetricsTests.test_04_overdelivery_capped) ... ok
test_05_inventory_hand_calculation (__main__.MetricsTests.test_05_inventory_hand_calculation) ... ok
test_06_missing_snapshot_not_zero (__main__.MetricsTests.test_06_missing_snapshot_not_zero) ... ok
test_07_broken_conservation_rejected (__main__.MetricsTests.test_07_broken_conservation_rejected) ... ok
test_08_cost_mismatch_rejected (__main__.MetricsTests.test_08_cost_mismatch_rejected) ... ok
test_09_coverage_path (__main__.MetricsTests.test_09_coverage_path) ... ok
test_10_zero_demand_is_not_infinity (__main__.MetricsTests.test_10_zero_demand_is_not_infinity) ... ok
test_11_unknown_demand_rejected (__main__.MetricsTests.test_11_unknown_demand_rejected) ... ok
test_12_future_receipt_rejected (__main__.MetricsTests.test_12_future_receipt_rejected) ... ok
test_13_zero_cost_denominator_not_zero_ratio (__main__.MetricsTests.test_13_zero_cost_denominator_not_zero_ratio) ... ok
test_14_no_usage_turnover_days_undefined (__main__.MetricsTests.test_14_no_usage_turnover_days_undefined) ... ok
test_15_empty_order_denominator (__main__.MetricsTests.test_15_empty_order_denominator) ... ok
test_16_invalid_duplicate_receipt (__main__.MetricsTests.test_16_invalid_duplicate_receipt) ... ok

----------------------------------------------------------------------
Ran 16 tests in 0.024s

OK
