public void ResolveTest() { var container = A.Dummy<IContainer>(); A.CallTo(() => container.GetSourceTypes(typeof(ITestType1))).Returns(new[] { typeof(TestType) }); var resolver = new Resolver(container); var result = resolver.ResolveSingle<ITestType1>(); Assert.IsNotNull(result); Assert.IsTrue(result is ITestType1); Assert.IsTrue(result is TestType); }
public void ResolveWithArgumentNotResolvableTest() { var container = A.Dummy<IContainer>(); A.CallTo(() => container.GetSourceTypes(typeof(ITestType1))).Returns(new[] { typeof(TestTypeWithArguments) }); A.CallTo(() => container.GetSourceTypes(typeof(ITestType2))).Returns(new[] { typeof(TestType) }); A.CallTo(() => container.GetSourceTypes(typeof(ITestType4))).Returns(new[] { typeof(TestType4) }); var resolver = new Resolver(container); try { resolver.ResolveSingle<ITestType1>(); Assert.Fail(); } catch (ResolverException ex) { Debug.Write(ex.Message); return; } Assert.Fail(); }