public void Register_ServiceAlreadyRegisteredUnderDifferentType_DoesNotThrow() { // arrange var sut = new CommandServices(); var service = new SampleService(); sut.Register <ISuperSampleService>(service); // act sut.Register <ISampleService>(service); }
public void Register_TypeAlreadyUsed_ThrowsException() { // arrange var sut = new CommandServices(); var service1 = new SampleService(); var service2 = new SampleService(); sut.Register(service1); Action sutAction = () => sut.Register(service2); // act, assert var ex = Assert.Throws <InvalidOperationException>(sutAction); Assert.Contains("The service type Chel.UnitTests.Services.SampleService has already been registered", ex.Message); }
public void Register_BaseInterfaceTypeUsed_DoesNotThrow() { // arrange var sut = new CommandServices(); var service = new SampleService(); // act sut.Register <ISuperSampleService>(service); }
public void Register_ObjectInstanceProvided_DoesNotThrow() { // arrange var sut = new CommandServices(); var service = new SampleService(); // act sut.Register(service); }
public void Register_ServiceIsNull_ThrowsException() { // arrange var sut = new CommandServices(); Action sutAction = () => sut.Register <object>(null); // act, assert var ex = Assert.Throws <ArgumentNullException>(sutAction); Assert.Equal("service", ex.ParamName); }
public void ResolveGeneric_ServiceIsRegistered_ReturnsService() { // arrange var sut = new CommandServices(); var service = new SampleService(); sut.Register(service); // act var resolvedService = sut.Resolve <SampleService>(); // assert Assert.Same(service, resolvedService); }
public void Resolve_UseInterfaceType_ReturnsService() { // arrange var sut = new CommandServices(); var service = new SampleService(); sut.Register <ISampleService>(service); // act var resolvedService = sut.Resolve(typeof(ISampleService)); // assert Assert.Same(service, resolvedService); }