Spaces:
Running on Zero
Running on Zero
| import sys; sys.path.insert(0, "src") | |
| from buddy_fusion.fallback import fallback_genome, fuse_fallback | |
| from buddy_fusion.genome import Genome, ARCHETYPES | |
| def test_roll_is_deterministic_for_seed(): | |
| assert fallback_genome(7) == fallback_genome(7) | |
| def test_roll_varies_by_seed(): | |
| assert fallback_genome(1) != fallback_genome(2) | |
| def test_roll_always_has_valid_archetype(): | |
| for s in range(20): | |
| assert fallback_genome(s).archetype in ARCHETYPES | |
| def test_fuse_is_deterministic(): | |
| a, b = fallback_genome(1), fallback_genome(2) | |
| assert fuse_fallback(a, b, 5) == fuse_fallback(a, b, 5) | |
| def test_fuse_inherits_archetype_and_mutates(): | |
| a, b = fallback_genome(1), fallback_genome(2) | |
| child = fuse_fallback(a, b, 5) | |
| assert child.archetype in (a.archetype, b.archetype) # body plan from a parent | |
| assert child.traits # mutation trait present | |
| assert child.story # lineage flavor present | |