private IEnumerable <T> CreateResult <T>(params Object[] source) => (IEnumerable <T>)ResolveResultFactory.CreateResult( typeof(IResolve <T>).GetTypeInfo(), source, Mock.Of <IResolveBuilder>(), Enumerable.Empty <ResolveFailure>() );
public void Fails_invalid_property_type(Type invalidType) { Assert.Throws <ArgumentException>( () => ResolveResultFactory.CreateResult( invalidType.GetTypeInfo(), new[] { "42" }, Mock.Of <IResolveBuilder>(), Enumerable.Empty <ResolveFailure>() ) ); }
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); }
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 ); }
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); }