I'd like to be able to express my unit tests fairly naturally, using the conditional operators built into the language. So, for example, I'd want to write: expect(factorial(5)) == 120 expect(factorial(10)) > 10000 I'd like the error messages to show both the code that caused the error and the values that caused the error. So, for example, I'd want the following (incorrect) test expect(factorial(6