mirror of
https://github.com/gsi-upm/soil
synced 2024-11-14 15:32:29 +00:00
d9947c2c52
Documentation needs some improvement The API has been simplified to only allow for ONE topology per NetworkEnvironment. This covers the main use case, and simplifies the code.
27 lines
644 B
Python
27 lines
644 B
Python
from unittest import TestCase
|
|
import pytest
|
|
|
|
from soil import agents, environment
|
|
from soil import time as stime
|
|
|
|
|
|
class Dead(agents.FSM):
|
|
@agents.default_state
|
|
@agents.state
|
|
def only(self):
|
|
return self.die()
|
|
|
|
|
|
class TestMain(TestCase):
|
|
def test_die_raises_exception(self):
|
|
d = Dead(unique_id=0, model=environment.Environment())
|
|
d.step()
|
|
with pytest.raises(agents.DeadAgent):
|
|
d.step()
|
|
|
|
def test_die_returns_infinity(self):
|
|
d = Dead(unique_id=0, model=environment.Environment())
|
|
ret = d.step().abs(0)
|
|
print(ret, "next")
|
|
assert ret == stime.INFINITY
|