So essentially you could write
Assert(()=>width>0 && x + width < screenWidth)
And you would get: Assertion failed:
x is 1500
width is 600
screenWidth is 1920
It used Expression<T> to do the magic. Amazing debug messages. No moralizing required.This was a huge boon for us as it was a legacy codebase and we ran tens of thousands of automated tests and it was really difficult to figure out why they failed.