private IEnumerable <T> CreateResult <T>(params Object[] source)
 => (IEnumerable <T>)ResolveResultFactory.CreateResult(
     typeof(IResolve <T>).GetTypeInfo(),
     source,
     Mock.Of <IResolveBuilder>(),
     Enumerable.Empty <ResolveFailure>()
     );
Пример #2
0
 public void Fails_invalid_property_type(Type invalidType)
 {
     Assert.Throws <ArgumentException>(
         () => ResolveResultFactory.CreateResult(
             invalidType.GetTypeInfo(),
             new[] { "42" },
             Mock.Of <IResolveBuilder>(),
             Enumerable.Empty <ResolveFailure>()
             )
         );
 }
Пример #3
0
        public void Creates_expected_ResolveResult(Type interfaceType, Type resultType)
        {
            var result = ResolveResultFactory.CreateResult(
                interfaceType.GetTypeInfo(),
                new[] { "42" },
                Mock.Of <IResolveBuilder>(),
                Enumerable.Empty <ResolveFailure>()
                );

            Assert.IsType(resultType, result);
        }
Пример #4
0
        public void Fails_incompatible_IEnumerable()
        {
            var result = (ResolveResultSingle <Int32>)ResolveResultFactory.CreateResult(
                typeof(IResolveSingle <Int32>).GetTypeInfo(),
                new[] { "42" },
                Mock.Of <IResolveBuilder>(),
                Enumerable.Empty <ResolveFailure>()
                );

            Assert.Throws <InvalidCastException>(
                () => result.Value
                );
        }
Пример #5
0
        public void Casts_to_derived_type()
        {
            var expected = new DerivedClass();

            var result = (IEnumerable)ResolveResultFactory.CreateResult(
                typeof(IResolve <DerivedClass>).GetTypeInfo(),
                new BaseClass[] { expected },
                Mock.Of <IResolveBuilder>(),
                Enumerable.Empty <ResolveFailure>()
                );

            Assert.IsType(typeof(ResolveResult <DerivedClass>), result);

            var actual = Assert.Single(result);

            Assert.Same(expected, actual);
        }