def create_master_cell(manager): """Create a master cell A master cell can be cloned to give birth to "normal" cells. """ current_weather = manager.environment['weather'] cell = manager.create_entity() cell.add_component(Age()) cell.add_component(Clonable()) cell.add_component(Mood(current_weather)) return cell
def test_clonable_incubate(): clonable = Clonable() number_to_clone = clonable.incubate(1) assert number_to_clone == 1
def test_clonable_incubate_depends_on_impact(): clonable = Clonable() assert clonable.incubate(4, impact=0.25) == 1
def test_clonable_incubate_depends_on_time(): clonable = Clonable() assert clonable.incubate(1) == 1 assert clonable.incubate(2) == 2 assert clonable.incubate(42) == 42
def test_clonable_incubate_depends_on_fertility(): clonable = Clonable(fertility=0.5) assert clonable.incubate(1) == 0 assert clonable.incubate(1) == 1