In the expression evaluation unit tests, some of the exceptions raised as expected, during the implementation, I was thinking to keep the Expressions creation / Expected Result / Computing independently in the simple framework design, because the expected exceptions are assumed to be defined dynamically by later, hence catching the exception first and then compare it with the expected one maybe more easier.