Test code: assert, assertThrows and assertDoesNotThrow
The complete source of testing_assertions_tests.ek9, compiled by the EK9 compiler. Shown on testing.html.
#!ek9 defines module site.testing.assertions.tests references site.testing.assertions::checkedDivide defines program @Test CheckDivision() result <- checkedDivide(10, 2) assert result? //Check result is set (not unset) assert result == 5 //Check result equals the expected value @Test CheckDivisionByZero() assertThrows(Exception, checkedDivide(10, 0)) @Test CheckAndInspectException() caught <- assertThrows(Exception, checkedDivide(10, 0)) assert caught.reason() == "division by zero" @Test CheckSafeDivision() assertDoesNotThrow(checkedDivide(10, 2)) @Test CheckSafeDivisionResult() //assertDoesNotThrow gives nothing back: check the value with its own assert assertDoesNotThrow(checkedDivide(10, 2)) result <- checkedDivide(10, 2) assert result == 5