public void ConcretionClassesCorrectlyApplyReuse() { // arrange var sut = new ContainerSetup(); // act sut.RetrieveConcretionClassesRequiringRegistration(true); // assert var resolvedClasses = sut.ResolveMany <ITestInterfaceDummy>().ToList(); var secondResolve = sut.ResolveMany <ITestInterfaceDummy>().ToList(); resolvedClasses.Should().BeEquivalentTo(secondResolve); }
public void TryingToResolveMultipleServicesThrowsANotSupportedException() { // arrange var serviceCollectionDummy = new Mock <IServiceCollection>(); var sut = new ContainerSetup(serviceCollectionDummy.Object); var act = new Action(() => sut.ResolveMany <DisposableDummy>()); // act // assert act.Should().Throw <NotSupportedException>(); }
public void ConcretionClassesAreResolvedCorrectly() { // arrange var sut = new ContainerSetup(); // act sut.RetrieveConcretionClassesRequiringRegistration(true); // assert var resolvedClass = sut.ResolveMany <BaseClassDummy>().ToList(); resolvedClass.Count.Should().Be(1); resolvedClass.First().GetType().Should().Be(typeof(InheritorClassDummy)); }
public void ConcretionClassesFromInterfaceAreCorrectlyResolved() { // arrange var sut = new ContainerSetup(); // act sut.RetrieveConcretionClassesRequiringRegistration(true); // assert var resolvedClasses = sut.ResolveMany <ITestInterfaceDummy>().ToList(); resolvedClasses.Count.Should().Be(2); resolvedClasses.Should().Contain(x => x.GetType() == typeof(ImplementationClassDummy)); resolvedClasses.Should().Contain(x => x.GetType() == typeof(ImplmentationClassTooDummy)); }
public void MultiTypeRegistrationSingletonsWorkCorrectly() { // arrange var sut = new ContainerSetup(); // act sut.RetrieveConcretionClassesRequiringRegistration(true); // assert var resolvedClasses = sut.ResolveMany <ITestInterfaceDummy>().ToList(); var interfaceResolvedClass = resolvedClasses.FirstOrDefault(t => t.GetType() == typeof(ImplementationClassDummy)); var directlyResolvedClass = sut.Resolve <ImplementationClassDummy>(); interfaceResolvedClass.Should().Be(directlyResolvedClass); }