public void DependencyResolutionSucceeds() { DependencyMap injector = new DependencyMap(); injector.Register <ITestInterface, TestClass>(); injector.Register(typeof(AnotherClass)); object actualClass = injector.Resolve(typeof(ITestInterface)); object anotherClass = injector.Resolve(typeof(AnotherClass)); AssertResolution(actualClass, typeof(TestClass)); AssertResolution(anotherClass, typeof(AnotherClass)); actualClass = injector.Resolve <ITestInterface>(); anotherClass = injector.Resolve <AnotherClass>(); AssertResolution(actualClass, typeof(TestClass)); AssertResolution(anotherClass, typeof(AnotherClass)); }
public void InnerDependenciesSucceeds() { DependencyMap injector = new DependencyMap(); injector.Register <IInterface, AnotherClass>(); var actualClass = (AnotherClass)injector.Resolve(typeof(IInterface)); AssertResolution(actualClass, typeof(AnotherClass)); Assert.True(actualClass.Blah == null); injector.Register <ITestInterface, TestClass>(); actualClass = (AnotherClass)injector.Resolve(typeof(IInterface)); Assert.True( actualClass.Blah.GetType() == typeof(TestClass), $"Expected {typeof(TestClass).Name}\nWas {actualClass.Blah.GetType().Name}" ); }
public void MultipleRegistersStillProducesCorrectResult() { DependencyMap injector = new DependencyMap(); injector.Register <ITestInterface, TestClass>(); injector.Register <ITestInterface, TestClass>(); object actualClass = injector.Resolve <ITestInterface>(); AssertResolution(actualClass, typeof(TestClass)); }