public void SetsInjectablePropertyValueIfServiceIsRegistered() { // Arrange var serviceInstance = new MyServiceImplementation(); _serviceProvider.AddService <IMyService>(serviceInstance); // Act var instance = InstantiateComponent <HasInjectableProperty>(); // Assert Assert.Same(serviceInstance, instance.MyService); }
public void SetsPrivateInheritedInjectableProperties() { // Arrange var serviceInstance = new MyServiceImplementation(); _serviceProvider.AddService <IMyService>(serviceInstance); // Act var instance = InstantiateComponent <HasInheritedPrivateInjectableProperty>(); // Assert Assert.Same(serviceInstance, instance.PrivateMyService); }
public void HandlesInjectablePropertyScenarios() { // Arrange var serviceInstance = new MyServiceImplementation(); var otherServiceInstance = new MyOtherServiceImplementation(); var concreteServiceInstance = new MyConcreteService(); _serviceProvider.AddService <IMyService>(serviceInstance); _serviceProvider.AddService <IMyOtherService>(otherServiceInstance); _serviceProvider.AddService(concreteServiceInstance); // Act var instance = InstantiateComponent <HasManyInjectableProperties>(); // Assert Assert.Same(serviceInstance, instance.PublicReadWrite); Assert.Same(serviceInstance, instance.PublicReadOnly); Assert.Same(serviceInstance, instance.PrivateValue); Assert.Same(otherServiceInstance, instance.DifferentServiceType); Assert.Same(concreteServiceInstance, instance.ConcreteServiceType); }