Example #1
0
        public void Create_WithWrongClassTypeAsParameter_ThrowsException()
        {
            var diContainerMock = A.Fake <IDiContainer>();

            A.CallTo(() => diContainerMock.GetInstance(typeof(ITestService)))
            .Throws(_ => new ResolveFailedException(typeof(ITestService), null));

            var classFactory = new DiContainerClassFactory(diContainerMock);

            Assert.Throws <ResolveFailedException>(() => classFactory.Create(typeof(ITestService)));
        }
Example #2
0
        public void Create_GenericWithSetupWithClassTypeAsGenericParameterForWrongType_ThrowsException()
        {
            var diContainerMock = A.Fake <IDiContainer>();

            A.CallTo(() => diContainerMock.GetInstance <ITestService>())
            .Throws(_ => new ResolveFailedException(typeof(ITestService), null));

            var classFactory = new DiContainerClassFactory <ITestService>(diContainerMock);

            Assert.Throws <ResolveFailedException>(() => classFactory.Create(x => x.Text = "abcd"));
        }
Example #3
0
        public void Create_GenericWithClassTypeAsGenericParameter_ReturnsCorrectClass()
        {
            var testService = new TestService();

            var diContainerMock = A.Fake <IDiContainer>();

            A.CallTo(() => diContainerMock.GetInstance <ITestService>()).Returns(testService);

            var classFactory = new DiContainerClassFactory <ITestService>(diContainerMock);

            var instance = classFactory.Create();

            Assert.Same(testService, instance);
        }
Example #4
0
        public void Create_WithSetupWithClassTypeAsGenericParameter_ReturnsCorrectClass()
        {
            var testService = new TestService();

            var diContainerMock = A.Fake <IDiContainer>();

            A.CallTo(() => diContainerMock.GetInstance <ITestService>()).Returns(testService);

            var classFactory = new DiContainerClassFactory(diContainerMock);

            var instance = classFactory.Create <ITestService>(x => x.Text = "abcd");

            Assert.Same(testService, instance);
            Assert.Equal("abcd", instance.Text);
        }
Example #5
0
        public void Create_WithSetupWithClassTypeAsParameter_ReturnsCorrectClass()
        {
            var testService = new TestService();

            var diContainerMock = A.Fake <IDiContainer>();

            A.CallTo(() => diContainerMock.GetInstance(typeof(ITestService))).Returns(testService);

            var classFactory = new DiContainerClassFactory(diContainerMock);

            var instance = classFactory.Create(typeof(ITestService), x => ((ITestService)x).Text = "1234");

            Assert.Same(testService, instance);
            Assert.Equal("1234", ((ITestService)instance).Text);
        }