Esempio n. 1
0
 public static void Of(this IInstanceContinuation continuation, Type expected)
 {
     continuation.AddMatcher(actual =>
     {
         var passed = actual.IsAssignableFrom(expected);
         return(new MatcherResult(
                    passed,
                    $"Expected {actual.PrettyName()} {passed.AsNot()}to be an instance of {expected.PrettyName()}"
                    ));
     });
 }
Esempio n. 2
0
        /// <summary>
        /// Tests if actual is an instance of TExpected
        /// </summary>
        /// <param name="instance">Instance to operate on</param>
        /// <param name="customMessageGenerator">Custom error message</param>
        /// <typeparam name="TExpected">Expected Type of the Instance</typeparam>
        public static IMore <TExpected> Of <TExpected>(
            this IInstanceContinuation instance,
            Func <string> customMessageGenerator)
        {
            instance.AddMatcher(actual =>
            {
                var expected = typeof(TExpected);
                var passed   = expected.IsAssignableFrom(instance.Actual);
                return(new MatcherResult(
                           passed,
                           FinalMessageFor(
                               new[]
                {
                    "Expected",
                    $"<{actual.PrettyName()}>",
                    $"to {passed.AsNot()}be an instance of",
                    $"<{expected.PrettyName()}>"
                },
                               customMessageGenerator
                               )
                           ));
            });

            if (instance is InstanceContinuation concrete)
            {
                return(new LazyICanAddMatcher <TExpected>(
                           concrete.Parent
                           ).More());
            }


            // if (instance is InstanceContinuation concrete)
            // {
            //     incomingType = concrete.Actual;
            //     if (concrete.Parent is ICanAddMatcher<TExpected> addMatcher &&
            //         concrete.Parent is IExpectationContext<TExpected> expectationContext)
            //     {
            //         return ContinuationFactory.Create<TExpected, More<TExpected>>(
            //             addMatcher.GetActual(),
            //             expectationContext
            //         );
            //     }
            // }
            //
            return(new TerminatedMore <TExpected>(instance.Actual));
        }
Esempio n. 3
0
 /// <summary>
 /// Tests if actual is an instance of expected
 /// </summary>
 /// <param name="instance">Instance to operate on</param>
 /// <param name="expected">Expected Type of the Instance</param>
 /// <param name="customMessageGenerator">Custom error message</param>
 public static void Of(
     this IInstanceContinuation instance,
     Type expected,
     Func <string> customMessageGenerator)
 {
     instance.AddMatcher(
         actual =>
     {
         var passed = expected.IsAssignableFrom(instance.Actual);
         return(new MatcherResult(
                    passed,
                    FinalMessageFor(
                        new[]
         {
             "Expected",
             $"<{instance.Actual.PrettyName()}>",
             $"to {passed.AsNot()}be an instance of",
             $"<{expected.PrettyName()}>"
         },
                        customMessageGenerator
                        )));
     });
 }