Пример #1
0
        public void Register_ServiceAlreadyRegisteredUnderDifferentType_DoesNotThrow()
        {
            // arrange
            var sut     = new CommandServices();
            var service = new SampleService();

            sut.Register <ISuperSampleService>(service);

            // act
            sut.Register <ISampleService>(service);
        }
Пример #2
0
        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);
        }
Пример #3
0
        public void Register_BaseInterfaceTypeUsed_DoesNotThrow()
        {
            // arrange
            var sut     = new CommandServices();
            var service = new SampleService();

            // act
            sut.Register <ISuperSampleService>(service);
        }
Пример #4
0
        public void Register_ObjectInstanceProvided_DoesNotThrow()
        {
            // arrange
            var sut     = new CommandServices();
            var service = new SampleService();

            // act
            sut.Register(service);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }