private static void ExecuteAssertion(Internals.Assertions.IAssertion assertion, Func<string> customMessage) { try { if (assertion.IsSatisfied()) return; } catch (ArgumentException ex) { throw new ShouldAssertException(ex.Message, ex); } throw new ShouldAssertException(assertion.GenerateMessage(customMessage())); }