public void InvokeInvalidCandidate_ReturnFalse <T>(T candidate, Type expected)
            {
                var sut = new IsTypeSpecification <T>(expected);

                var result = sut.GetExpression().Compile().Invoke(candidate);

                Assert.False(result);
            }
            public void NonGenericILinqSpecification_ReturnExpressionAsAbstractExpression()
            {
                var sut = new IsTypeSpecification <FakeType>(typeof(object));

                var expected      = sut.GetExpression().ToString();
                var sutExpression = ((ILinqSpecification)sut).GetExpression();
                var result        = sutExpression.ToString();

                Assert.Equal(expected, result);
            }