dave08
01/21/2019, 7:41 AMwhenNotNull is not an assertion, and is the same as result?.let { } and this will not lead to any runtime failure (nor is it really asserting anything, if null, which I feel is not such good testing practice... but that's my opinion).
As mentioned before, result!! should { } is not an assertion, and will lead to a runtime failure. So shouldNotBeNull { } really makes the assertion, and allows to continue asserting on a non-null value.
I admit that if contracts would be an option, there would likely not be a need for the lambda though...
Also shouldBeInstance might also have further asssertions on the smart casted type... @sam