Пример #1
0
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
Пример #2
0
def test_clonable_incubate():
    clonable = Clonable()

    number_to_clone = clonable.incubate(1)

    assert number_to_clone == 1
Пример #3
0
def test_clonable_incubate_depends_on_impact():
    clonable = Clonable()

    assert clonable.incubate(4, impact=0.25) == 1
Пример #4
0
def test_clonable_incubate_depends_on_time():
    clonable = Clonable()

    assert clonable.incubate(1) == 1
    assert clonable.incubate(2) == 2
    assert clonable.incubate(42) == 42
Пример #5
0
def test_clonable_incubate_depends_on_fertility():
    clonable = Clonable(fertility=0.5)

    assert clonable.incubate(1) == 0
    assert clonable.incubate(1) == 1