[INFO] fetching crate hill_descent_lib 0.3.1...
[INFO] testing hill_descent_lib-0.3.1 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate hill_descent_lib 0.3.1 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate hill_descent_lib 0.3.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate hill_descent_lib 0.3.1
[INFO] tweaked toml for crates.io crate hill_descent_lib 0.3.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate hill_descent_lib 0.3.1 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate hill_descent_lib 0.3.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391
[INFO] running `Command { std: "docker" "start" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling zerocopy v0.8.37
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling getrandom v0.4.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.44
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling mimalloc v0.1.48
[INFO] [stderr]    Compiling hill_descent_lib v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `getrandom`
[INFO] [stderr]  --> Cargo.toml:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | [dependencies.getrandom]
[INFO] [stderr]   |               ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `getrandom`
[INFO] [stderr] warning: unused dependency `mimalloc`
[INFO] [stderr]   --> Cargo.toml:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | [dependencies.mimalloc]
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `mimalloc`
[INFO] [stderr] warning: `hill_descent_lib` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 36.61s
[INFO] running `Command { std: "docker" "inspect" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.37
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling clap_builder v4.5.56
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling clap v4.5.56
[INFO] [stderr]    Compiling zerocopy-derive v0.8.37
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling hill_descent_lib v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr] warning: unused dependency `getrandom`
[INFO] [stderr]  --> Cargo.toml:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | [dependencies.getrandom]
[INFO] [stderr]   |               ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `getrandom`
[INFO] [stderr] warning: unused dependency `mimalloc`
[INFO] [stderr]   --> Cargo.toml:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | [dependencies.mimalloc]
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `mimalloc`
[INFO] [stderr] warning: `hill_descent_lib` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 43s
[INFO] running `Command { std: "docker" "inspect" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `getrandom`
[INFO] [stderr]  --> Cargo.toml:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | [dependencies.getrandom]
[INFO] [stderr]   |               ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `getrandom`
[INFO] [stderr] warning: unused dependency `mimalloc`
[INFO] [stderr]   --> Cargo.toml:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | [dependencies.mimalloc]
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `mimalloc`
[INFO] [stderr] warning: `hill_descent_lib` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/hill_descent_lib/2a4c3c475bf56693/out/hill_descent_lib-2a4c3c475bf56693)
[INFO] [stdout] 
[INFO] [stdout] running 478 tests
[INFO] [stdout] test gamete::new_random_gamete::tests::given_empty_bounds_when_new_random_gamete_then_gamete_is_empty ... ok
[INFO] [stdout] test gamete::reproduce::tests::given_reproduce_when_system_parameters_exceed_bounds_then_values_are_clamped ... ok
[INFO] [stdout] test gamete::tests::given_empty_loci_when_new_then_len_is_zero_and_is_empty ... ok
[INFO] [stdout] test gamete::tests::given_large_gamete_when_dropped_then_buffer_is_pooled ... ok
[INFO] [stdout] test gamete::new_random_gamete::tests::given_some_bounds_when_new_random_gamete_then_gamete_has_correct_number_of_loci ... ok
[INFO] [stdout] test gamete::tests::given_non_empty_loci_when_new_then_len_and_accessors_work ... ok
[INFO] [stdout] test gamete::new_random_gamete::tests::given_bounds_when_new_random_gamete_then_loci_are_created_with_correct_value_bounds ... ok
[INFO] [stdout] test gamete::tests::given_pool_at_max_capacity_when_gamete_dropped_then_buffer_freed ... ok
[INFO] [stdout] test gamete::reproduce::tests::reproduce_mismatched_lengths_panics - should panic ... ok
[INFO] [stdout] test gamete::reproduce::tests::reproduce_zero_crossovers_returns_clones ... ok
[INFO] [stdout] test gamete::reproduce::tests::reproduce_too_many_crossovers_panics - should panic ... ok
[INFO] [stdout] test gamete::reproduce::tests::given_reproduce_when_problem_parameters_exceed_bounds_then_values_are_not_clamped ... ok
[INFO] [stdout] test gamete::tests::given_into_loci_when_called_then_buffer_not_pooled ... ok
[INFO] [stdout] test gamete::tests::given_take_buffer_when_below_min_capacity_then_skips_pool ... ok
[INFO] [stdout] test gamete::tests::given_take_buffer_when_pool_has_entry_then_reuses_buffer ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_large_range_when_gen_hybrid_range_then_value_within_bounds ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_small_range_when_gen_hybrid_range_then_value_within_bounds ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_wide_range_rng_selects_negative_side_returns_negative ... ok
[INFO] [stdout] test gamete::tests::given_small_gamete_when_dropped_then_buffer_not_pooled ... ok
[INFO] [stdout] test gamete::tests::given_take_buffer_when_pool_empty_then_allocates_new ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_cross_zero_wide_range_rng_selects_positive_side_returns_positive ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_extreme_cross_zero_range_when_gen_hybrid_range_then_varied_values_within_bounds ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_equal_bounds_when_gen_hybrid_range_then_returns_single_bound_value ... ok
[INFO] [stdout] test locus::mutate::tests::given_final_apply_flag_false_when_mutate_then_value_unchanged_by_application ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_low_greater_than_high_when_gen_hybrid_range_then_returns_nan ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_wide_negative_range_when_gen_hybrid_range_then_value_within_bounds ... ok
[INFO] [stdout] test locus::locus_adjustment::tests::given_valid_params_when_new_then_fields_set ... ok
[INFO] [stdout] test locus::mutate::tests::given_all_mutation_probs_zero_when_mutate_then_locus_is_unchanged ... ok
[INFO] [stdout] test locus::mutate::tests::given_final_apply_flag_true_direction_add_when_mutate_then_value_increases ... ok
[INFO] [stdout] test locus::mutate::tests::given_m1_false_apply_flag_false_when_mutate_then_apply_flag_remains_false ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_small_positive_range_when_gen_hybrid_range_then_value_within_bounds ... ok
[INFO] [stdout] test locus::mutate::tests::given_locus_with_bounds_when_mutated_repeatedly_then_value_stays_within_bounds ... ok
[INFO] [stdout] test locus::locus_adjustment::tests::given_negative_adjustment_when_new_then_panic - should panic ... ok
[INFO] [stdout] test locus::mutate::tests::given_m4_true_direction_add_when_mutate_then_direction_subtract_double_flag_inverted ... ok
[INFO] [stdout] test locus::mutate::tests::given_m3_true_double_flag_false_when_mutate_then_double_flag_true ... ok
[INFO] [stdout] test locus::mutate::tests::given_m3_true_double_flag_true_when_mutate_then_double_flag_false ... ok
[INFO] [stdout] test locus::mutate::tests::given_m4_true_direction_subtract_when_mutate_then_direction_add_double_flag_inverted ... ok
[INFO] [stdout] test locus::mutate::tests::given_m5_double_true_adj_value_near_max_when_mutate_then_adj_value_clamped_at_max ... ok
[INFO] [stdout] test locus::mutate::tests::given_m5_halve_true_adj_value_small_positive_when_mutate_then_adj_value_halved_correctly ... ok
[INFO] [stdout] test locus::mutate::tests::given_m5_true_double_flag_true_when_mutate_then_adj_value_doubled ... ok
[INFO] [stdout] test locus::mutate::tests::given_m5_halve_true_adj_value_zero_when_mutate_then_adj_value_remains_zero ... ok
[INFO] [stdout] test locus::mutate::tests::given_m5_true_double_flag_false_when_mutate_then_adj_value_halved ... ok
[INFO] [stdout] test gen_hybrid_range::tests::given_wide_positive_range_when_gen_hybrid_range_then_value_within_bounds ... ok
[INFO] [stdout] test locus::mutate::tests::given_m2_false_apply_flag_true_when_mutate_then_apply_flag_remains_true ... ok
[INFO] [stdout] test locus::mutate::tests::given_m1_true_apply_flag_false_when_mutate_then_apply_flag_true ... ok
[INFO] [stdout] test locus::mutate::tests::given_mutate_unbound_when_value_would_exceed_bounds_then_value_is_not_clamped ... ok
[INFO] [stdout] test locus::mutate::tests::given_mutate_unbound_when_apply_flag_false_then_value_unchanged ... ok
[INFO] [stdout] test locus::mutate::tests::given_mutate_unbound_when_value_would_go_below_bounds_then_value_is_not_clamped ... ok
[INFO] [stdout] test locus::mutate::tests::mutate_with_full_probs_applies_flag_flip_and_other_mutations ... ok
[INFO] [stdout] test locus::mutate::tests::given_mutate_vs_mutate_unbound_when_value_exceeds_bounds_then_different_results ... ok
[INFO] [stdout] test locus::mutate::tests::mutate_no_mutation_returns_same ... ok
[INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_dh_flag_true_and_change_in_bounds_then_dh_flag_is_true ... ok
[INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_dh_flag_true_and_doubling_out_of_bounds_then_dh_flag_is_false ... ok
[INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_dh_flag_true_and_halving_out_of_bounds_then_dh_flag_is_false ... ok
[INFO] [stdout] test locus::new_random_locus_adjustment::tests::given_seeded_rng_when_new_random_then_flags_are_deterministic_for_test ... ok
[INFO] [stdout] test locus::tests::given_locus_when_adjustment_called_then_returns_correct_adjustment ... ok
[INFO] [stdout] test locus::new_random_locus::tests::given_new_random_locus_when_initial_dh_flag_false_then_final_dh_flag_is_false ... ok
[INFO] [stdout] test locus::tests::given_locus_when_apply_adjustment_flag_called_then_returns_correct_flag ... ok
[INFO] [stdout] test parameters::global_constants::tests::given_valid_inputs_when_new_then_global_constants_is_created ... ok
[INFO] [stdout] test locus::mutate::tests::given_final_apply_flag_true_direction_subtract_when_mutate_then_value_decreases ... ok
[INFO] [stdout] test locus::new_random_locus_adjustment::tests::given_rng_and_bounds_when_new_random_then_adjustment_is_sensible ... ok
[INFO] [stdout] test parameters::global_constants::tests::given_valid_inputs_with_custom_seed_when_new_with_seed_then_global_constants_is_created ... ok
[INFO] [stdout] test parameters::global_constants::tests::given_zero_population_size_when_new_then_panics - should panic ... ok
[INFO] [stdout] test parameters::global_constants::tests::given_zero_target_regions_when_new_then_panics - should panic ... ok
[INFO] [stdout] test locus::mutate::tests::given_m2_true_apply_flag_true_when_mutate_then_apply_flag_false ... ok
[INFO] [stdout] test parameters::parameter::tests::given_new_when_value_is_infinite_then_panics - should panic ... ok
[INFO] [stdout] test locus::tests::given_locus_when_value_called_then_returns_correct_value ... ok
[INFO] [stdout] test locus::new_random_locus::tests::given_rng_and_bounds_when_new_random_then_locus_is_valid ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_below_min_then_value_is_set_without_clamping ... ok
[INFO] [stdout] test parameters::parameter::tests::given_new_and_set_when_values_are_valid_then_values_are_set_correctly ... ok
[INFO] [stdout] test locus::tests::given_valid_params_when_new_then_locus_fields_are_set_correctly ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_infinite_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_infinite_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_above_max_then_value_is_set_without_clamping ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_nan_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_within_bounds_then_value_is_set ... ok
[INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_max_is_infinite_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_min_is_nan_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_min_greater_than_max_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_above_max_then_value_is_clamped_to_max ... ok
[INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_below_min_then_value_is_clamped_to_min ... ok
[INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_nan_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_with_bounds_when_value_is_within_bounds_then_parameter_is_created ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_unbound_when_value_is_within_bounds_then_value_is_set ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_above_max_then_value_is_clamped_to_max ... ok
[INFO] [stdout] test parameters::parameter::tests::given_new_when_value_is_nan_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_new_when_value_is_valid_then_parameter_is_created_with_default_bounds ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_nan_then_panics - should panic ... ok
[INFO] [stdout] test parameters::parameter::tests::given_set_when_value_is_below_min_then_value_is_clamped_to_min ... ok
[INFO] [stdout] test parameters::system_parameters::tests::given_empty_slice_when_new_then_panics - should panic ... ok
[INFO] [stdout] test parameters::system_parameters::tests::given_longer_slice_when_new_then_panics - should panic ... ok
[INFO] [stdout] test phenotype::calculate_crossovers::tests::test_calculate_crossovers ... ok
[INFO] [stdout] test phenotype::compute_expressed::tests::given_equal_checksums_rng_chooses_first_when_compute_expressed_then_returns_first_value ... ok
[INFO] [stdout] test phenotype::compute_expressed::tests::given_equal_checksums_rng_chooses_second_when_compute_expressed_then_returns_second_value ... ok
[INFO] [stdout] test parameters::parameter_enhancement::tests::given_bounds_when_enhanced_then_system_bounds_are_correct ... ok
[INFO] [stdout] test parameters::parameter_enhancement::tests::given_empty_slice_when_enhance_parameters_called_then_returns_only_system_parameter_bounds ... ok
[INFO] [stdout] test parameters::system_parameters::tests::given_shorter_slice_when_new_then_panics - should panic ... ok
[INFO] [stdout] test phenotype::compute_expressed::tests::given_unequal_checksums_rng_favors_smaller_checksum_locus_when_compute_expressed_then_returns_its_value ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_different_system_params_same_spatial_when_compute_expressed_hash_then_returns_same_hash ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_empty_slice_when_compute_expressed_hash_then_returns_consistent_hash ... ok
[INFO] [stdout] test parameters::parameter_enhancement::tests::given_non_empty_slice_when_enhance_parameters_called_then_prepends_system_parameter_bounds ... ok
[INFO] [stdout] test parameters::system_parameters::tests::given_correct_length_slice_when_new_then_all_fields_are_set_correctly ... ok
[INFO] [stdout] test parameters::system_parameters::tests::given_default_when_called_then_all_fields_are_zero ... ok
[INFO] [stdout] test phenotype::compute_expressed::tests::given_mismatched_gamete_lengths_when_compute_expressed_then_panics - should panic ... ok
[INFO] [stdout] test phenotype::compute_expressed::tests::given_unequal_checksums_rng_favors_larger_checksum_locus_when_compute_expressed_then_returns_its_value ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_same_system_params_different_spatial_when_compute_expressed_hash_then_returns_different_hashes ... ok
[INFO] [stdout] test phenotype::compute_expressed::tests::given_multi_loci_gametes_when_compute_expressed_then_returns_correct_length_vector ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_slice_shorter_than_system_params_when_compute_expressed_hash_then_consistent_hash ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_different_spatial_values_when_compute_expressed_hash_then_returns_different_hashes ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_slice_with_only_system_params_when_compute_expressed_hash_then_consistent_hash ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_spatial_values_with_zero_and_negative_zero_when_compute_expressed_hash_then_hashes_differ_if_bits_differ ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_system_params_and_multiple_spatial_when_compute_expressed_hash_then_hashes_spatial_part_only ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_system_params_and_one_spatial_when_compute_expressed_hash_then_hashes_spatial ... ok
[INFO] [stdout] test phenotype::compute_expressed_hash::tests::given_spatial_values_with_nan_when_compute_expressed_hash_then_consistent_for_same_nan_bits ... ok
[INFO] [stdout] test phenotype::new_random_phenotype::tests::given_insufficient_bounds_when_new_random_phenotype_then_panics - should panic ... ok
[INFO] [stdout] test phenotype::sexual_reproduction::tests::given_parent_with_zero_length_gametes_when_reproduce_then_panics - should panic ... ok
[INFO] [stdout] test phenotype::tests::given_large_phenotype_when_dropped_then_expressed_buffer_is_pooled ... ok
[INFO] [stdout] test phenotype::new_random_phenotype::tests::given_sufficient_bounds_when_new_random_phenotype_then_phenotype_is_created ... ok
[INFO] [stdout] test phenotype::tests::given_expressed_pool_at_max_when_phenotype_dropped_then_buffer_freed ... ok
[INFO] [stdout] test phenotype::sexual_reproduction::tests::given_parents_with_zero_m_values_when_reproduce_then_offspring_inherit_parental_gametes ... ok
[INFO] [stdout] test phenotype::new_random_phenotype::tests::given_zero_bounds_when_new_random_phenotype_then_panics - should panic ... ok
[INFO] [stdout] test phenotype::tests::given_small_phenotype_when_dropped_then_expressed_buffer_not_pooled ... ok
[INFO] [stdout] test phenotype::sexual_reproduction::tests::given_parents_with_mismatched_gamete_lengths_when_reproduce_then_panics - should panic ... ok
[INFO] [stdout] test phenotype::tests::given_take_expressed_buffer_when_below_threshold_then_skips_pool ... ok
[INFO] [stdout] test phenotype::tests::given_take_expressed_buffer_when_pool_has_entry_then_reuses_buffer ... ok
[INFO] [stdout] test training_data::tests::given_none_variant_when_is_none_then_returns_true ... ok
[INFO] [stdout] test training_data::tests::given_supervised_variant_when_is_supervised_then_returns_true ... ok
[INFO] [stdout] test training_data::tests::given_supervised_with_multiple_examples_when_created_then_valid ... ok
[INFO] [stdout] test world::dimensions::adjust_limits::tests::given_empty_organisms_when_adjusting_limits_then_returns_false ... ok
[INFO] [stdout] test world::dimensions::adjust_limits::tests::given_infinite_original_range_when_adjusting_limits_then_handles_sensibly ... ok
[INFO] [stdout] test world::dimensions::adjust_limits::tests::given_negative_values_when_adjusting_limits_then_handles_correctly ... ok
[INFO] [stdout] test phenotype::tests::given_two_gametes_when_new_then_fields_are_set ... ok
[INFO] [stdout] test training_data::tests::given_supervised_variant_when_floor_value_then_returns_zero ... ok
[INFO] [stdout] test training_data::tests::given_none_with_negative_floor_when_created_then_stores_correctly ... ok
[INFO] [stdout] test training_data::tests::given_none_variant_when_floor_value_then_returns_specified_value ... ok
[INFO] [stdout] test world::dimensions::adjust_limits::tests::given_organisms_with_wide_spread_when_adjusting_limits_then_range_expanded_and_returns_false ... ok
[INFO] [stdout] test world::dimensions::adjust_limits::tests::given_invalid_dimension_index_when_adjusting_limits_then_returns_false ... ok
[INFO] [stdout] test world::dimensions::adjust_limits::tests::given_organisms_with_narrow_spread_when_adjusting_limits_then_range_shrunk_and_returns_true ... ok
[INFO] [stdout] test world::dimensions::adjust_limits::tests::given_single_organism_when_adjusting_limits_then_range_expanded_and_returns_false ... ok
[INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_empty_inputs_when_calculate_dimensions_key_is_called_then_success_with_empty_vec_is_returned ... ok
[INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_first_value_out_of_bounds_when_calculate_dimensions_key_is_called_then_failure_is_returned ... ok
[INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_mismatched_lengths_when_calculate_dimensions_key_is_called_then_it_panics - should panic ... ok
[INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_valid_inputs_when_calculate_dimensions_key_is_called_then_success_is_returned ... ok
[INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_value_out_of_bounds_when_calculate_dimensions_key_is_called_then_failure_is_returned ... ok
[INFO] [stdout] test world::dimensions::calculate_dimensions_key::tests::given_values_on_boundaries_when_calculate_dimensions_key_is_called_then_success_is_returned ... ok
[INFO] [stdout] test world::dimensions::dimension::expand_bounds::tests::given_dimension_with_zero_width_when_expand_bounds_then_range_expands_by_fixed_amount ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_at_boundaries ... ok
[INFO] [stdout] test world::dimensions::dimension::expand_bounds::tests::given_dimension_with_non_zero_width_when_expand_bounds_then_range_expands_by_50_percent ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_basic_and_boundaries ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_floating_point_precision ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_mixed_range ... ok
[INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_last_interval_when_interval_bounds_then_end_is_exact_range_end ... ok
[INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_out_of_range_index_when_interval_bounds_then_none ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_single_point_range ... ok
[INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_basic_divisions_when_interval_bounds_then_correct_bounds_for_each_interval ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_out_of_bounds ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_zero_doublings ... ok
[INFO] [stdout] test world::dimensions::dimension::get_interval::tests::test_get_interval_negative_range ... ok
[INFO] [stdout] test world::dimensions::dimension::new::tests::given_valid_input_when_new_dimension_then_succeeds ... ok
[INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_zero_doublings_when_interval_bounds_then_full_range_returned ... ok
[INFO] [stdout] test world::dimensions::dimension::new::tests::given_zero_divisions_when_new_dimension_then_succeeds ... ok
[INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_non_zero_doublings_when_divide_next_dimension_then_increments ... ok
[INFO] [stdout] test world::dimensions::dimension::interval_bounds::tests::given_single_point_range_when_interval_bounds_then_single_bounds_returned ... ok
[INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_empty_dimensions_when_divide_next_dimension_then_panics - should panic ... ok
[INFO] [stdout] test world::dimensions::dimension::new::tests::given_max_less_than_min_when_new_dimension_then_panics - should panic ... ok
[INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_out_of_bounds_index_when_divide_next_dimension_then_panics - should panic ... ok
[INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_precision_at_limit_when_divide_next_dimension_then_returns_false ... ok
[INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_sequence_when_divide_next_dimension_then_doublings_increment_by_one ... ok
[INFO] [stdout] test world::dimensions::divide_dimension::tests_divide_next_dimension::given_zero_doublings_when_divide_next_dimension_then_becomes_one ... ok
[INFO] [stdout] test world::dimensions::new::tests::given_bounds_with_equal_start_end_when_new_then_dimension_created ... ok
[INFO] [stdout] test world::dimensions::new::tests::given_bounds_with_negative_values_when_new_then_dimensions_created_correctly ... ok
[INFO] [stdout] test world::dimensions::new::tests::given_empty_parameter_bounds_when_new_then_no_dimensions_are_created ... ok
[INFO] [stdout] test world::dimensions::new::tests::given_multiple_bounds_when_new_then_all_dimensions_created_with_zero_doublings ... ok
[INFO] [stdout] test world::dimensions::new::tests::given_single_bound_when_new_then_one_dimension_created_with_zero_doublings ... ok
[INFO] [stdout] test world::format_score::tests::given_large_but_valid_score_when_format_score_then_returns_formatted_number ... ok
[INFO] [stdout] test world::format_score::tests::given_near_max_when_format_score_then_returns_not_evaluated ... ok
[INFO] [stdout] test world::dimensions::new::tests::given_bounds_with_invalid_range_when_new_then_dimension_new_panics - should panic ... ok
[INFO] [stdout] test world::format_score::tests::given_exact_max_when_format_score_then_returns_not_evaluated ... ok
[INFO] [stdout] test world::get_best_organism::tests::given_empty_data_when_get_best_then_panics - should panic ... ok
[INFO] [stdout] test world::get_best_organism::tests::given_valid_data_when_get_best_then_returns_lowest_score ... ok
[INFO] [stdout] test world::format_score::tests::given_score_at_threshold_boundary_when_format_score_then_consistent_behavior ... ok
[INFO] [stdout] test world::format_score::tests::given_negative_score_when_format_score_then_returns_formatted_number ... ok
[INFO] [stdout] test world::format_score::tests::given_very_small_score_when_format_score_then_returns_formatted_number ... ok
[INFO] [stdout] test world::format_score::tests::given_zero_score_when_format_score_then_returns_formatted_number ... ok
[INFO] [stdout] test world::format_score::tests::given_score_just_below_threshold_when_format_score_then_returns_formatted_number ... ok
[INFO] [stdout] test world::get_best_params::tests::given_optimized_world_when_get_best_params_then_returns_params ... ok
[INFO] [stdout] test world::get_state::tests::given_empty_world_when_get_state_then_json_is_still_valid ... ok
[INFO] [stdout] test world::get_best_score::tests::given_world_with_scored_organisms_when_get_best_score_then_returns_lowest ... ok
[INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_json_contains_region_data ... ok
[INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_json_contains_organism_data ... ok
[INFO] [stdout] test world::format_score::tests::given_positive_score_when_format_score_then_returns_formatted_with_six_decimals ... ok
[INFO] [stdout] test world::get_state::tests::given_world_with_dead_organisms_when_get_state_then_dead_flag_is_serialized ... ok
[INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_returns_valid_json ... ok
[INFO] [stdout] test world::get_best_score::tests::given_world_with_no_scored_organisms_when_get_best_score_then_returns_max ... ok
[INFO] [stdout] test world::get_best_params::tests::given_world_with_supervised_data_when_get_best_params_then_returns_params ... ok
[INFO] [stdout] test world::get_state_for_web::tests::given_non_2d_world_when_get_state_for_web_then_panics - should panic ... ok
[INFO] [stdout] test world::get_state_for_web::tests::given_2d_world_when_get_state_for_web_then_returns_valid_json_in_pdd_format ... ok
[INFO] [stdout] test world::organisms::best::tests::given_multiple_scored_organisms_when_best_then_returns_lowest ... ok
[INFO] [stdout] test world::organisms::best::tests::given_no_scores_when_best_then_returns_none ... ok
[INFO] [stdout] test world::organisms::find_spacial_limits::tests::given_empty_organisms_when_find_spacial_limits_then_returns_empty_vec ... ok
[INFO] [stdout] test world::organisms::find_spacial_limits::tests::given_multiple_organisms_when_find_spacial_limits_then_returns_correct_min_max_ranges ... ok
[INFO] [stdout] test world::organisms::generate_random_phenotypes::tests::given_bounds_with_only_system_parameters_when_called_then_succeeds ... ok
[INFO] [stdout] test world::organisms::generate_random_phenotypes::tests::given_valid_inputs_when_called_then_returns_correct_number_of_phenotypes ... ok
[INFO] [stdout] test world::organisms::increment_ages::tests::given_multiple_organisms_when_increment_ages_then_all_ages_increment ... ok
[INFO] [stdout] test world::organisms::new::tests::given_valid_inputs_when_new_called_then_creates_organisms_correctly ... ok
[INFO] [stdout] test world::organisms::find_spacial_limits::tests::given_one_organism_when_find_spacial_limits_then_returns_ranges_from_that_organism ... ok
[INFO] [stdout] test world::organisms::organism::increment_age::tests::given_organism_when_age_exceeds_max_then_mark_dead ... ok
[INFO] [stdout] test world::organisms::generate_random_phenotypes::tests::given_zero_population_size_when_called_then_returns_empty_vector ... ok
[INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_asexual_parents_then_has_one_parent ... ok
[INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_new_then_is_root ... ok
[INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_sexual_parents_then_has_two_parents ... ok
[INFO] [stdout] test world::organisms::increment_ages::tests::given_organism_exceeding_max_age_when_increment_ages_then_marked_dead ... ok
[INFO] [stdout] test world::organisms::organism::increment_age::tests::given_organism_when_increment_age_then_age_increments ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_empty_known_outputs_slice_when_run_then_panics - should panic ... ok
[INFO] [stdout] test world::get_state::tests::given_world_when_get_state_then_json_contains_correct_dimension_data ... ok
[INFO] [stdout] test world::organisms::organism::parent_tracking_tests::given_new_organism_when_created_with_root_parents_then_is_root ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_infinite_known_outputs_when_run_then_panics - should panic ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_infinite_output_when_run_then_panics - should panic ... ok
[INFO] [stdout] test world::get_best_params::tests::given_single_dimension_when_get_best_params_then_returns_single_value ... ok
[INFO] [stdout] test world::get_state::tests::given_minimal_world_when_get_state_then_json_is_still_valid ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_mismatched_output_lengths_when_run_is_called_then_it_panics - should panic ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_no_outputs_when_run_then_panics - should panic ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_nan_known_outputs_when_run_then_panics - should panic ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_nan_output_when_run_then_panics - should panic ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_negative_floor_when_run_then_works_correctly ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_output_above_floor_when_run_then_score_is_distance ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_output_at_floor_when_run_then_score_is_zero ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_output_below_floor_then_panics - should panic ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_perfect_match_when_run_is_called_then_score_is_max ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_valid_inputs_when_run_is_called_then_score_is_updated_correctly ... ok
[INFO] [stdout] test world::organisms::organism::run::tests::given_single_value_function_when_run_then_score_is_distance_from_floor ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_infinity_score_when_set_then_preserved ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_new_organism_with_age_when_age_is_checked_then_it_is_correct ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_asexual_when_parent_methods_called_then_returns_correct_values ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_root_when_parent_methods_called_then_returns_root_values ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_negative_infinity_score_when_set_then_preserved ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_sexual_when_parent_methods_called_then_returns_correct_values ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_organism_created_with_new_when_parent_methods_called_then_returns_root_values ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_organism_when_cloned_then_parent_ids_are_copied ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_new_organism_when_score_checked_then_returns_none ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_organism_when_mark_dead_then_is_dead_returns_true ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_score_set_to_none_when_get_score_then_returns_none ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_score_set_when_get_score_then_returns_same_value ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_very_large_score_when_set_then_preserved ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_very_small_score_when_set_then_preserved ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_zero_score_when_set_then_preserved ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_concurrent_writes_when_scores_set_then_final_value_is_one_of_them ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_negative_score_when_set_then_preserved ... ok
[INFO] [stdout] test world::organisms::run_all::tests::given_multiple_organisms_when_run_all_then_every_score_is_set ... ok
[INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_no_organisms_when_update_all_region_keys_then_ok ... ok
[INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_valid_inputs_when_dimension_changed_none_then_success_and_key_set ... ok
[INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_one_organism_fails_update_when_update_all_region_keys_then_err ... ok
[INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_dimension_changed_some_but_region_key_none_then_full_recompute_occurs ... ok
[INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_out_of_bounds_value_when_dimension_changed_none_then_failure_and_key_none ... ok
[INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_region_key_exists_when_no_dimension_changed_then_no_op_success ... ok
[INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_organisms_with_cached_keys_when_update_all_with_dimension_changed_then_fast_path_used ... ok
[INFO] [stdout] test world::regions::add_organisms::tests::given_empty_organisms_when_add_phenotypes_then_regions_unchanged ... ok
[INFO] [stdout] test world::regions::add_organisms::tests::given_multiple_organisms_same_key_when_add_phenotypes_then_region_has_all_orgtypes ... ok
[INFO] [stdout] test world::regions::add_organisms::tests::given_multiple_organisms_different_keys_when_add_phenotypes_then_regions_created_correctly ... ok
[INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_single_dimension_in_bounds_when_region_key_exists_then_success_and_key_updated ... ok
[INFO] [stdout] test world::organisms::organism::update_region_key::tests::given_single_dimension_out_of_bounds_when_region_key_exists_then_failure_and_key_cleared ... ok
[INFO] [stdout] test world::regions::add_organisms::tests::given_one_organism_with_region_key_when_add_phenotypes_then_region_created_with_orgtype ... ok
[INFO] [stdout] test world::regions::add_organisms::tests::given_region_with_existing_orgtype_when_add_more_orgtypes_to_same_key_then_all_are_present ... ok
[INFO] [stdout] test world::regions::add_organisms::tests::given_organisms_with_no_region_keys_when_add_organisms_then_panics - should panic ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_adjust_limits_succeeds_when_division_fails_then_returns_dimension_expanded ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_at_precision_limit_when_adjust_regions_then_tries_adjust_limits ... ok
[INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_organism_with_cached_key_when_update_all_with_dimension_changed_out_of_bounds_then_failure ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_no_variance_when_handle_successful_update_then_returns_at_resolution_limit ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_adjust_limits_succeeds_when_dimension_expanded_then_min_scores_are_cleared ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_zero_dimensions_when_handle_successful_update_then_returns_at_resolution_limit ... ok
[INFO] [stdout] test world::organisms::organism::tests::given_concurrent_reads_when_score_set_then_all_see_value ... ok
[INFO] [stdout] test world::organisms::update_all_region_keys::tests::given_organisms_all_update_successfully_when_update_all_region_keys_then_ok ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_precision_limit_and_adjust_limits_fails_when_adjust_regions_then_returns_at_resolution_limit ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_target_regions_already_reached_when_handle_successful_update_then_returns_expansion_not_necessary ... ok
[INFO] [stdout] test world::regions::adjust_regions::tests::given_variance_when_handle_successful_update_then_returns_dimension_index ... ok
[INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_diverse_values_when_calculate_dimension_stats_then_returns_correct_stats ... ok
[INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_empty_values_when_calculate_dimension_stats_then_returns_empty_stats ... ok
[INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_values_outside_relative_tolerance_when_calculate_dimension_stats_then_treats_as_different ... ok
[INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_identical_values_when_count_unique_then_returns_one ... ok
[INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_values_within_relative_tolerance_when_calculate_dimension_stats_then_treats_as_same ... ok
[INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_close_values_when_count_unique_then_treats_as_same ... ok
[INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_distant_values_when_count_unique_then_treats_as_different ... ok
[INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_empty_values_when_count_unique_then_returns_zero ... ok
[INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_single_value_when_count_unique_then_returns_one ... ok
[INFO] [stdout] test world::regions::derive_region_seed::tests::given_different_region_keys_when_derive_then_different_results ... ok
[INFO] [stdout] test world::regions::derive_region_seed::tests::given_different_world_seeds_when_derive_then_different_results ... ok
[INFO] [stdout] test world::regions::derive_region_seed::tests::given_empty_region_key_when_derive_then_returns_valid_seed ... ok
[INFO] [stdout] test world::regions::derive_region_seed::tests::given_large_region_key_when_derive_then_returns_valid_seed ... ok
[INFO] [stdout] test world::regions::derive_region_seed::tests::given_same_world_seed_and_key_when_derive_then_same_result ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_clear_regions_then_remains_empty ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_collect_region_keys_then_returns_empty_vector ... ok
[INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_mixed_magnitudes_when_count_unique_then_handles_correctly ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_contains_region_key_then_returns_false ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_get_region_mut_then_returns_none ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_get_region_then_returns_none ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_insert_region_then_returns_none_and_adds_region ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_is_empty_then_returns_true ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_region_keys_then_yields_no_items ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_region_values_mut_then_yields_no_items ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_region_values_then_yields_no_items ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_regions_mut_then_yields_no_items ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_iter_regions_then_yields_no_items ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_len_then_returns_zero ... ok
[INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_no_diversity_when_calculate_dimension_stats_then_returns_zero_std_dev ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_remove_region_then_returns_none ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_empty_regions_when_retain_regions_then_remains_empty ... ok
[INFO] [stdout] test world::regions::calculate_dimension_stats::tests::given_single_organism_when_calculate_dimension_stats_then_returns_zero_std_dev ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_multiple_operations_then_maintains_consistency ... ok
[INFO] [stdout] test world::regions::count_unique_values_with_tolerance::tests::given_different_values_when_count_unique_then_returns_correct_count ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_retain_regions_with_always_false_predicate_then_removes_all_regions ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_retain_regions_with_always_true_predicate_then_keeps_all_regions ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_when_retain_regions_with_selective_predicate_then_keeps_matching_regions ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_existing_key_when_insert_region_then_returns_previous_region ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_clear_regions_then_becomes_empty ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_collect_region_keys_then_returns_all_keys ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_iter_region_keys_then_yields_all_keys ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_iter_region_values_then_yields_all_values ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_iter_regions_then_yields_all_items ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_multiple_regions_when_len_then_returns_correct_count ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_contains_region_key_with_existing_key_then_returns_true ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_contains_region_key_with_non_existing_key_then_returns_false ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_mut_then_allows_mutation ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_mut_with_existing_key_then_returns_some ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_mut_with_non_existing_key_then_returns_none ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_iter_region_values_mut_then_allows_mutation ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_remove_region_with_existing_key_then_returns_region_and_removes_it ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_single_region_when_is_empty_then_returns_false ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_remove_region_with_non_existing_key_then_returns_none ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_single_region_when_iter_regions_then_yields_one_item ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_single_region_when_len_then_returns_one ... ok
[INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_clear_winner_when_find_most_diverse_index_then_returns_correct_index ... ok
[INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_empty_stats_when_find_most_diverse_index_then_returns_none ... ok
[INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_no_diversity_when_find_most_diverse_index_then_returns_none ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_with_existing_key_then_returns_some ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_get_region_with_non_existing_key_then_returns_none ... ok
[INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_tie_in_uniqueness_when_find_most_diverse_index_then_std_dev_breaks_tie ... ok
[INFO] [stdout] test world::regions::find_most_diverse_index::tests::given_winner_has_one_unique_value_when_find_most_diverse_index_then_returns_none ... ok
[INFO] [stdout] test world::regions::get_most_common_key::tests::given_all_regions_are_empty_when_get_most_common_key_then_returns_a_key ... ok
[INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_no_diversity_when_get_most_diverse_dimension_then_returns_none ... ok
[INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_non_existent_key_when_get_most_diverse_dimension_then_returns_none ... ok
[INFO] [stdout] test world::regions::get_most_common_key::tests::given_one_region_when_get_most_common_key_then_returns_its_key ... ok
[INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_organisms_with_one_diverse_dimension_when_get_most_diverse_dimension_then_returns_correct_index ... ok
[INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_region_with_one_organism_when_get_most_diverse_dimension_then_returns_none ... ok
[INFO] [stdout] test world::regions::get_most_common_key::tests::given_multiple_regions_when_get_most_common_key_then_returns_correct_key ... ok
[INFO] [stdout] test world::regions::get_most_diverse_dimension::tests::given_tie_in_uniqueness_when_get_most_diverse_dimension_then_std_dev_breaks_tie ... ok
[INFO] [stdout] test world::regions::get_most_common_key::tests::given_no_regions_when_get_most_common_key_then_returns_none ... ok
[INFO] [stdout] test world::regions::parallel_process::tests::given_multiple_regions_when_parallel_process_then_all_processed ... ok
[INFO] [stdout] test world::regions::parallel_process::tests::given_regions_of_different_sizes_when_parallel_process_then_largest_regions_sorted_first ... ok
[INFO] [stdout] test world::regions::get_most_common_key::tests::given_regions_with_a_tie_when_get_most_common_key_then_returns_one_of_them ... ok
[INFO] [stdout] test world::regions::prune_empty_regions::tests::given_no_regions_when_prune_empty_regions_then_no_change_and_no_panic ... ok
[INFO] [stdout] test world::regions::parallel_process::tests::given_same_seed_when_parallel_process_then_deterministic_results ... ok
[INFO] [stdout] test world::regions::prune_empty_regions::tests::given_regions_with_all_populated_when_prune_empty_regions_then_no_regions_are_removed ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_iter_regions_mut_then_allows_mutation ... ok
[INFO] [stdout] test world::regions::prune_empty_regions::tests::given_regions_with_all_empty_when_prune_empty_regions_then_all_regions_are_removed ... ok
[INFO] [stdout] test world::regions::encapsulation_tests::given_regions_with_region_when_iter_regions_then_yields_correct_key_value_pairs ... ok
[INFO] [stdout] test world::regions::prune_empty_regions::tests::given_regions_with_some_empty_when_prune_empty_regions_then_empty_regions_are_removed ... ok
[INFO] [stdout] test world::regions::refill::tests::given_mixed_organisms_when_refill_then_empty_regions_pruned_and_populated_kept ... ok
[INFO] [stdout] test world::regions::refill::tests::given_organisms_with_scores_when_refill_then_min_scores_updated ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_single_organism_single_pass_when_execute_then_one_offspring ... ok
[INFO] [stdout] test world::regions::refill::tests::given_organisms_with_zero_and_negative_scores_when_refill_then_zero_is_min_score ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_max_passes_limit_when_execute_then_stops_at_limit ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_offspring_this_pass_limit_when_execute_then_respects_limit ... ok
[INFO] [stdout] test world::regions::refill::tests::given_empty_organisms_when_refill_then_all_regions_pruned ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_single_organism_multiple_passes_when_execute_then_multiple_offspring ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_three_organisms_when_execute_then_sexual_reproduction_with_top_performer_duplication ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_two_organisms_multiple_passes_when_execute_then_multiple_offspring ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_zero_number_to_reproduce_when_execute_then_empty_result ... ok
[INFO] [stdout] test world::regions::refill::tests::given_organisms_without_scores_when_refill_then_min_scores_remain_none ... ok
[INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_max_offspring_limit_when_execute_single_pass_then_respects_limit ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_two_organisms_when_execute_then_offspring_have_correct_sexual_parent_ids ... ok
[INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_single_organism_when_execute_single_pass_then_returns_two_sexual_offspring ... ok
[INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_three_organisms_when_execute_single_pass_then_returns_sexual_reproduction_with_duplication ... ok
[INFO] [stdout] test world::regions::region::execute_single_reproduction_pass::tests::given_two_organisms_when_execute_single_pass_then_returns_two_sexual_offspring ... ok
[INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_empty_organisms_when_pair_organisms_then_returns_empty_pairs ... ok
[INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_single_organism_when_pair_organisms_then_pairs_with_itself ... ok
[INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_six_organisms_when_pair_organisms_then_pairs_all_extremes ... ok
[INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_three_organisms_when_pair_organisms_then_duplicates_top_performer ... ok
[INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_two_organisms_when_pair_organisms_then_pairs_first_with_last ... ok
[INFO] [stdout] test world::regions::region::perform_sexual_reproduction::tests::given_empty_pairs_when_perform_sexual_reproduction_then_returns_empty_offspring ... ok
[INFO] [stdout] test world::regions::region::perform_sexual_reproduction::tests::given_one_pair_when_perform_sexual_reproduction_then_returns_two_offspring ... ok
[INFO] [stdout] test world::regions::region::process_region::tests::given_region_over_capacity_when_process_lifecycle_then_truncated ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_single_organism_when_execute_then_offspring_has_correct_sexual_self_fertilization ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_three_organisms_odd_number_when_execute_then_handles_extreme_pairing_correctly ... ok
[INFO] [stdout] test world::regions::region::execute_reproduction_passes::tests::given_two_organisms_single_pass_when_execute_then_two_offspring ... ok
[INFO] [stdout] test world::regions::region::process_region::tests::given_same_seed_when_process_lifecycle_then_deterministic_offspring ... ok
[INFO] [stdout] test world::regions::region::process_region::tests::given_region_with_organisms_when_process_lifecycle_then_fitness_evaluated ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_different_positions_same_value_when_hash_then_different ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_empty_values_when_new_then_is_empty ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_hash_collision_when_compare_then_equal_in_release ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_different_values_when_compare_then_not_equal ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_ref_when_into_vec_then_clones_values ... ok
[INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_five_organisms_when_pair_organisms_then_duplicates_top_and_pairs_extremes ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_permuted_values_when_compare_then_not_equal ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_borrow_then_returns_slice ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_clone_then_shares_underlying_data ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_update_position_then_creates_new_key_with_correct_values ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_update_position_then_hash_matches_fresh_computation ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_keys_when_used_as_hashmap_keys_then_works_correctly ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_as_ref_then_returns_slice ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_slice_when_from_slice_then_creates_region_key ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_out_of_bounds_position_when_update_then_panics - should panic ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_vec_when_from_vec_then_creates_region_key ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_carrying_capacity_exceeded_when_reproduce_then_single_pass_only ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_empty_region_when_reproduce_then_returns_empty_vec ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_values_when_new_then_creates_region_key ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_even_r_when_reproduce_then_returns_r_offspring ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_equal_score_different_age_then_older_ranks_higher ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_no_carrying_capacity_when_reproduce_then_single_pass_only ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_into_vec_then_clones_values ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_odd_number_organisms_when_reproduce_multiple_passes_then_handles_extreme_pairing_correctly ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_update_multiple_positions_then_hash_correct ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_odd_r_when_reproduce_then_returns_r_offspring ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_region_key_when_update_position_mut_then_updates_correctly ... ok
[INFO] [stdout] test world::regions::region::region_key::tests::given_same_values_when_compare_then_equal ... ok
[INFO] [stdout] test world::regions::region::pair_organisms_for_reproduction::tests::given_four_organisms_when_pair_organisms_then_pairs_extremes ... ok
[INFO] [stdout] test world::regions::region::perform_sexual_reproduction::tests::given_two_pairs_when_perform_sexual_reproduction_then_returns_four_offspring ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_one_parent_when_reproduce_then_two_offspring_sexual_self_fertilization ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_r_exceeds_parents_when_reproduce_then_all_parents_used ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_reproduction_factor_limit_when_reproduce_then_stops_at_factor_limit ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_two_organisms_when_reproduce_multiple_passes_then_produces_multiple_offspring ... ok
[INFO] [stdout] test world::regions::update::tests::given_multiple_distant_organisms_when_update_then_space_divides ... ok
[INFO] [stdout] test world::regions::update::tests::given_no_organisms_when_update_then_no_regions ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_zero_r_when_reproduce_then_returns_empty_vec ... ok
[INFO] [stdout] test world::regions::update::tests::given_one_organism_fits_bounds_when_update_then_single_region_no_extra_division ... ok
[INFO] [stdout] test world::regions::update::tests::given_target_reached_when_update_then_returns_false_expansion_not_necessary ... ok
[INFO] [stdout] test world::regions::update::tests::given_organism_out_of_bounds_when_update_then_dimension_expands ... ok
[INFO] [stdout] test world::regions::update::tests::given_small_target_when_update_then_returns_true_at_resolution_limit ... ok
[INFO] [stdout] test world::regions::update::tests::given_no_organisms_when_update_then_returns_true ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_mixed_none_and_positive_scores_when_update_capacities_then_none_scores_get_zero ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_multiple_regions_with_infinite_inverse_fitness_when_update_capacities_then_capacity_divided_equally ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_multiple_regions_with_min_scores_when_update_capacities_then_capacities_proportional ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_large_number_of_regions_when_update_capacities_then_all_regions_get_capacity ... ok
[INFO] [stdout] test world::regions::region::reproduce::tests::given_single_organism_when_reproduce_multiple_passes_then_produces_multiple_offspring ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_no_regions_with_min_scores_when_update_capacities_then_all_capacities_zero ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_non_finite_min_score_when_update_capacities_then_panics - should panic ... FAILED
[INFO] [stdout] test world::regions::region::reproduce::tests::given_sufficient_parents_when_reproduce_single_pass_then_no_multiple_passes ... ok
[INFO] [stdout] test world::regions::update::tests::given_no_variance_when_update_then_returns_true_at_resolution_limit ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_many_regions_with_very_small_scores_when_update_capacities_then_no_overflow ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_region_with_extremely_high_score_when_update_capacities_then_gets_minimal_capacity ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_region_with_no_min_score_when_update_capacities_then_its_capacity_is_zero ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_regions_with_odd_population_when_update_capacities_then_total_equals_population ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_negative_min_score_when_update_capacities_then_panics - should panic ... FAILED
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_regions_with_very_close_scores_when_update_capacities_then_similar_capacity ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_uneven_split_with_remainder_when_update_capacities_then_remainder_distributed ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_zero_and_positive_min_scores_when_update_capacities_then_zero_gets_all_capacity ... ok
[INFO] [stdout] test world::remove_dead::tests::given_all_live_organisms_when_retain_live_then_all_remain ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_one_region_with_positive_min_score_when_update_capacities_then_capacity_is_population_size ... ok
[INFO] [stdout] test world::remove_dead::tests::given_dead_organism_in_region_when_region_retain_live_then_removed ... ok
[INFO] [stdout] test world::remove_dead::tests::given_dead_organism_when_organisms_retain_live_then_removed ... ok
[INFO] [stdout] test world::remove_dead::tests::given_entire_region_dead_when_remove_dead_then_region_is_removed ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_single_infinite_among_many_finite_when_update_capacities_then_infinite_gets_all ... ok
[INFO] [stdout] test world::remove_dead::tests::given_no_dead_organisms_when_remove_dead_then_world_unchanged ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_single_region_with_infinite_inverse_fitness_when_update_capacities_then_gets_all_capacity ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_two_regions_with_zero_scores_when_update_capacities_then_split_equally ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_zero_min_score_when_update_capacities_then_gets_all_capacity ... ok
[INFO] [stdout] test world::single_valued_function::tests::given_custom_floor_function_when_run_then_output_above_floor ... ok
[INFO] [stdout] test world::remove_dead::tests::given_empty_organisms_collection_when_retain_live_then_remains_empty ... ok
[INFO] [stdout] test world::single_valued_function::tests::given_negative_floor_function_when_run_then_output_above_floor ... ok
[INFO] [stdout] test world::remove_dead::tests::given_organisms_with_mixed_death_states_when_remove_dead_then_removes_only_dead_from_all_regions ... ok
[INFO] [stdout] test world::remove_dead::tests::given_some_dead_organisms_when_remove_dead_then_only_live_remain ... ok
[INFO] [stdout] test world::single_valued_function::tests::given_default_floor_when_function_floor_called_then_returns_zero ... ok
[INFO] [stdout] test world::single_valued_function::tests::given_single_valued_function_when_used_as_world_function_then_floor_is_preserved ... ok
[INFO] [stdout] test world::regions::update_carrying_capacities::test_update_carrying_capacities::given_only_positive_min_scores_when_update_capacities_then_proportional_allocation ... ok
[INFO] [stdout] test world::remove_dead::tests::given_all_dead_organisms_when_remove_dead_then_world_is_empty ... ok
[INFO] [stdout] test world::tests::given_valid_inputs_when_new_is_called_then_world_is_initialized_correctly ... ok
[INFO] [stdout] test world::tests::given_zero_population_size_when_new_is_called_then_it_panics - should panic ... ok
[INFO] [stdout] test world::single_valued_function::tests::given_negative_floor_when_function_floor_called_then_returns_negative_value ... ok
[INFO] [stdout] test world::tests::given_zero_target_regions_when_new_is_called_then_it_panics - should panic ... ok
[INFO] [stdout] test world::single_valued_function::tests::given_single_valued_function_when_run_then_returns_vec_with_single_value ... ok
[INFO] [stdout] test world::training_run::tests::given_mismatched_lengths_when_training_run_supervised_then_panics - should panic ... ok
[INFO] [stdout] test world::training_run::tests::given_empty_outputs_when_training_run_supervised_then_panics - should panic ... ok
[INFO] [stdout] test world::training_run::tests::given_nan_outputs_when_training_run_supervised_then_panics - should panic ... ok
[INFO] [stdout] test world::single_valued_function::tests::given_custom_floor_when_function_floor_called_then_returns_custom_value ... ok
[INFO] [stdout] test world::training_run::tests::given_nan_floor_when_training_run_none_then_panics - should panic ... ok
[INFO] [stdout] test world::training_run::tests::given_perfect_match_when_training_run_then_resolution_limit_not_reached ... ok
[INFO] [stdout] test world::training_run::tests::given_infinite_floor_when_training_run_none_then_panics - should panic ... ok
[INFO] [stdout] test world::training_run::tests::given_infinite_outputs_when_training_run_supervised_then_panics - should panic ... ok
[INFO] [stdout] test world::training_run::tests::given_valid_inputs_when_training_run_then_scores_positive_and_ages_increment ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- world::regions::update_carrying_capacities::test_update_carrying_capacities::given_non_finite_min_score_when_update_capacities_then_panics stdout ----
[INFO] [stdout] note: test did not panic as expected at src/world/regions/update_carrying_capacities.rs:422:8
[INFO] [stdout] ---- world::regions::update_carrying_capacities::test_update_carrying_capacities::given_negative_min_score_when_update_capacities_then_panics stdout ----
[INFO] [stdout] note: test did not panic as expected at src/world/regions/update_carrying_capacities.rs:401:8
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     world::regions::update_carrying_capacities::test_update_carrying_capacities::given_negative_min_score_when_update_capacities_then_panics
[INFO] [stdout]     world::regions::update_carrying_capacities::test_update_carrying_capacities::given_non_finite_min_score_when_update_capacities_then_panics
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 476 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391", kill_on_drop: false }`
[INFO] [stdout] 09a1dbcf2205b432dbfbd97145a4451c97a0386c227fdf078c26257efeeb2391
