public void Should_will_handle_null_correctly(NullExampleData data)
        {
            switch (data.Mode)
            {
            case NullMode.FailsMatch:
                var failure = data.CreateInvoker().Invoke();
                Assert.NotNull(failure);
                Assert.StartsWith("Expected", failure.Message);
                break;

            case NullMode.RequiresValidation:
                Assert.Throws <AssertVerificationException>(
                    () => data.CreateInvoker().Invoke()
                    );

                var failure2 = data.CreateInvoker().InvokeWithValidation();
                Assert.NotNull(failure2);
                Assert.StartsWith("Expected", failure2.Message);
                break;

            case NullMode.RequiresValidationButPasses:
                Assert.Throws <AssertVerificationException>(
                    () => data.CreateInvoker().Invoke()
                    );

                var failure3 = data.CreateInvoker().InvokeWithValidation();
                Assert.Null(failure3);
                break;
            }
        }
 public Invoker(NullExampleData data)
 {
     _data = data;
 }