HymnΒΆ
Note
hymn is not installed by default
hymn is a monad libary. While it’s perfectly possible to test code that uses monads without Archimedes, there is some patterns that keep repeating. Those patterns (or rather one of them) has been collected in Archimedes.
In cases where code being tested produces Either
there are generally
several different considerations to be made: is it left
or right
? Does
it have correct value inside of it. assert-right
captures pattern of the
first case. It first checks that code being executed produced right
and
then proceeds to perform additional checks. If any of these fail, the assert
fails too.
(assert-right (do-monad [status (advance-time-m society)]
status)
(assert-that society
(has-less-resources-than? old-resources)))