public void CreateInstance_Should_Throw_Exception_When_UnknownInstances_Has_More_Than_One_Entry_Of_The_Same_Type() { // Arrange var container = ContainerFactory.Create(); var unknownInstance1 = new ContainerUnknownInstanceTestClass(); var unknownInstance2 = new ContainerUnknownInstanceTestClass(); // Act // Assert ExceptionAssert.Thrown <ArgumentException>( () => container.CreateInstance <ContainerTestClassWithUnknownInstance>(unknownInstance1, unknownInstance2), $"unknownInstances has more than one entry of the same type.{Environment.NewLine}Parameter name: unknownInstances"); }
public void CreateInstance_Should_Set_UnknownInstances() { // Arrange var container = ContainerFactory.Create(); var unknownInstance = new ContainerUnknownInstanceTestClass(); // Act var instance = container.CreateInstance <ContainerTestClassWithUnknownInstance>(unknownInstance); // Assert Assert.AreSame(unknownInstance, instance.PropertyUnknownInstance); Assert.AreSame(unknownInstance, instance.ConstructorUnknownInstance); }
public void Get_Should_Set_UnknownInstances() { // Arrange var container = ContainerFactory.Create(); container.RegisterImplementation <IContainerTestInterfaceWithUnknownInstance, ContainerTestClassWithUnknownInstance>(); var unknownInstance = new ContainerUnknownInstanceTestClass(); // Act var instance = container.Get <IContainerTestInterfaceWithUnknownInstance>(unknownInstance); // Assert Assert.AreSame(unknownInstance, instance.PropertyUnknownInstance); Assert.AreSame(unknownInstance, instance.ConstructorUnknownInstance); }
public ContainerTestClassWithUnknownInstance(ContainerUnknownInstanceTestClass constructorUnknownInstance) { _constructorUnknownInstance = constructorUnknownInstance; }