public void ShouldCreateAndEvaluateTest()
		{
			TransientActivatorAutoWiringDependencyResolution<MockDependantObject> transientActivatorAutoWiringDependencyResolution;
			IDependencyManager mockDependencyManager;
			MockDependantObject result;
			MockFactory mockFactory;
			string _unusedString = null;
			bool _unusedBoolean = false;
			Type _unusedType = null;

			mockFactory = new MockFactory();
			mockDependencyManager = mockFactory.CreateInstance<IDependencyManager>();

			Expect.On(mockDependencyManager).One.Method(m => m.ResolveDependency(_unusedType, _unusedString, _unusedBoolean)).With(typeof(MockDependantObject), "named_dep_obj", true).Will(Return.Value(new MockDependantObject("left")));
			Expect.On(mockDependencyManager).One.Method(m => m.ResolveDependency(_unusedType, _unusedString, _unusedBoolean)).With(typeof(MockDependantObject), string.Empty, true).Will(Return.Value(new MockDependantObject("right")));

			transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution<MockDependantObject>();

			Assert.AreEqual(DependencyLifetime.Transient, transientActivatorAutoWiringDependencyResolution.DependencyLifetime);

			result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, string.Empty);

			Assert.IsNotNull(result);
			Assert.IsInstanceOf<MockDependantObject>(result);
			Assert.IsNotNull(result.Text);
			Assert.AreEqual(string.Empty, result.Text);
			Assert.IsNotNull(result.Left);
			Assert.IsNotNull(result.Right);
			Assert.AreEqual("left", result.Left.Text);
			Assert.AreEqual("right", result.Right.Text);

			transientActivatorAutoWiringDependencyResolution.Dispose();

			mockFactory.VerifyAllExpectationsHaveBeenMet();
		}
コード例 #2
0
        public void ShouldCreateAndEvaluateTest()
        {
            TransientActivatorAutoWiringDependencyResolution transientActivatorAutoWiringDependencyResolution;
            IDependencyManager mockDependencyManager;
            IReflectionFascade mockReflectionFascade;
            Type            activatorType;
            object          result;
            MockFactory     mockFactory;
            string          _unusedString          = null;
            bool            _unusedBoolean         = false;
            Type            _unusedType            = null;
            ConstructorInfo _unusedConstructorInfo = null;

            mockFactory           = new MockFactory();
            mockDependencyManager = mockFactory.CreateInstance <IDependencyManager>();
            mockReflectionFascade = mockFactory.CreateInstance <IReflectionFascade>();

            // TODO: reflection to fascade classes
            IReflectionFascade stubReflectionFascade;

            stubReflectionFascade = new ReflectionFascade(new DataTypeFascade());
            mockReflectionFascade = stubReflectionFascade;

            activatorType = typeof(MockDependantObject);

            //Expect.On(mockReflectionFascade).Exactly(4).Method(x => x.GetOneAttribute<DependencyInjectionAttribute>(_unusedConstructorInfo)).WithAnyArguments().Will(Return.Value<DependencyInjectionAttribute>((DependencyInjectionAttribute)null));

            Expect.On(mockDependencyManager).One.Method(m => m.ResolveDependency(_unusedType, _unusedString, _unusedBoolean)).With(typeof(MockDependantObject), "named_dep_obj", true).Will(Return.Value(new MockDependantObject("left")));
            Expect.On(mockDependencyManager).One.Method(m => m.ResolveDependency(_unusedType, _unusedString, _unusedBoolean)).With(typeof(MockDependantObject), string.Empty, true).Will(Return.Value(new MockDependantObject("right")));

            transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution(mockReflectionFascade, activatorType);

            Assert.AreEqual(DependencyLifetime.Transient, transientActivatorAutoWiringDependencyResolution.DependencyLifetime);

            result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, typeof(object), string.Empty);

            Assert.IsNotNull(result);
            Assert.IsInstanceOf <MockDependantObject>(result);
            Assert.IsNotNull(((MockDependantObject)result).Text);
            Assert.AreEqual(string.Empty, ((MockDependantObject)result).Text);
            Assert.IsNotNull(((MockDependantObject)result).Left);
            Assert.IsNotNull(((MockDependantObject)result).Right);
            Assert.AreEqual("left", ((MockDependantObject)result).Left.Text);
            Assert.AreEqual("right", ((MockDependantObject)result).Right.Text);

            transientActivatorAutoWiringDependencyResolution.Dispose();

            mockFactory.VerifyAllExpectationsHaveBeenMet();
        }
コード例 #3
0
        public void ShouldFailOnNullTypeResolveTest()
        {
            TransientActivatorAutoWiringDependencyResolution transientActivatorAutoWiringDependencyResolution;
            IDependencyManager mockDependencyManager;
            object             result;
            MockFactory        mockFactory;
            Type activatorType;

            mockFactory           = new MockFactory();
            mockDependencyManager = mockFactory.CreateInstance <IDependencyManager>();
            activatorType         = typeof(int);

            transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution(activatorType);

            result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, null, string.Empty);
        }
コード例 #4
0
        public void ShouldFailOnNullTypeResolveUntypedTest()
        {
            TransientActivatorAutoWiringDependencyResolution <MockDependantObject> transientActivatorAutoWiringDependencyResolution;
            IDependencyManager mockDependencyManager;
            IReflectionFascade mockReflectionFascade;
            object             result;
            MockFactory        mockFactory;

            mockFactory           = new MockFactory();
            mockDependencyManager = mockFactory.CreateInstance <IDependencyManager>();
            mockReflectionFascade = mockFactory.CreateInstance <IReflectionFascade>();

            transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution <MockDependantObject>(mockReflectionFascade);

            result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, null, string.Empty);
        }
コード例 #5
0
        public void ShouldFailOnNullKeyResolveTest()
        {
            TransientActivatorAutoWiringDependencyResolution transientActivatorAutoWiringDependencyResolution;
            IDependencyManager mockDependencyManager;
            IReflectionFascade mockReflectionFascade;
            object             result;
            MockFactory        mockFactory;
            Type activatorType;

            mockFactory           = new MockFactory();
            mockDependencyManager = mockFactory.CreateInstance <IDependencyManager>();
            mockReflectionFascade = mockFactory.CreateInstance <IReflectionFascade>();
            activatorType         = typeof(int);

            transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution(mockReflectionFascade, activatorType);

            result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, typeof(object), null);
        }
コード例 #6
0
        public void ShouldCreateAndEvaluateSelectorKeyTest()
        {
            TransientActivatorAutoWiringDependencyResolution <MockDependantObject> transientActivatorAutoWiringDependencyResolution;
            IDependencyManager  mockDependencyManager;
            IReflectionFascade  mockReflectionFascade;
            MockDependantObject result;
            MockFactory         mockFactory;
            string _unusedString  = null;
            bool   _unusedBoolean = false;
            Type   _unusedType    = null;

            mockFactory           = new MockFactory();
            mockDependencyManager = mockFactory.CreateInstance <IDependencyManager>();
            mockReflectionFascade = mockFactory.CreateInstance <IReflectionFascade>();

            // TODO: reflection to fascade classes
            IReflectionFascade stubReflectionFascade;

            stubReflectionFascade = new ReflectionFascade(new DataTypeFascade());
            mockReflectionFascade = stubReflectionFascade;

            Expect.On(mockDependencyManager).One.Method(m => m.ResolveDependency(_unusedType, _unusedString, _unusedBoolean)).With(typeof(MockDependantObject), string.Empty, true).Will(Return.Value(new MockDependantObject("both")));

            transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution <MockDependantObject>(mockReflectionFascade);

            Assert.AreEqual(DependencyLifetime.Transient, transientActivatorAutoWiringDependencyResolution.DependencyLifetime);

            result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, "named_dep_obj");

            Assert.IsNotNull(result);
            Assert.IsInstanceOf <MockDependantObject>(result);
            Assert.IsNotNull(result.Text);
            Assert.AreEqual(string.Empty, result.Text);
            Assert.IsNotNull(result.Left);
            Assert.IsNotNull(result.Right);
            Assert.AreEqual("both", result.Left.Text);
            Assert.AreEqual("both", result.Right.Text);

            transientActivatorAutoWiringDependencyResolution.Dispose();

            mockFactory.VerifyAllExpectationsHaveBeenMet();
        }
コード例 #7
0
        public void ShouldFailOnNoMatchingConstructorTest()
        {
            TransientActivatorAutoWiringDependencyResolution transientActivatorAutoWiringDependencyResolution;
            IDependencyManager mockDependencyManager;
            IReflectionFascade mockReflectionFascade;
            Type        activatorType;
            object      result;
            MockFactory mockFactory;
            string      _unusedString  = null;
            bool        _unusedBoolean = false;
            Type        _unusedType    = null;

            mockFactory           = new MockFactory();
            mockDependencyManager = mockFactory.CreateInstance <IDependencyManager>();
            mockReflectionFascade = mockFactory.CreateInstance <IReflectionFascade>();

            activatorType = typeof(MockAmbiguousCtorMatchDependantObject);

            transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution(mockReflectionFascade, activatorType);

            Assert.AreEqual(DependencyLifetime.Transient, transientActivatorAutoWiringDependencyResolution.DependencyLifetime);

            result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, typeof(object), "boaty_mcboatface_NO_MATCH_right?");
        }
コード例 #8
0
        public void ShouldFailOnMockUnmarkedParametersMatchTest()
        {
            TransientActivatorAutoWiringDependencyResolution transientActivatorAutoWiringDependencyResolution;
            IDependencyManager mockDependencyManager;
            IReflectionFascade mockReflectionFascade;
            Type        activatorType;
            object      result;
            MockFactory mockFactory;
            string      _unusedString  = null;
            bool        _unusedBoolean = false;
            Type        _unusedType    = null;

            mockFactory           = new MockFactory();
            mockDependencyManager = mockFactory.CreateInstance <IDependencyManager>();
            mockReflectionFascade = mockFactory.CreateInstance <IReflectionFascade>();

            activatorType = typeof(MockAmbiguousCtorMatchDependantObject);

            transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution(mockReflectionFascade, activatorType);

            Assert.AreEqual(DependencyLifetime.Transient, transientActivatorAutoWiringDependencyResolution.DependencyLifetime);

            result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, typeof(object), "i_haz_no_marked_params");
        }
        public static void OnDependencyMagic(IDependencyManager dependencyManager)
        {
            if ((object)dependencyManager == null)
            {
                throw new ArgumentNullException(nameof(dependencyManager));
            }

            dependencyManager.AddResolution <AsyncExecutableApplicationFascade>(string.Empty, false, new SingletonWrapperDependencyResolution <AsyncExecutableApplicationFascade>(TransientActivatorAutoWiringDependencyResolution <PipelineHostConsoleApplication> .From(dependencyManager)));
            dependencyManager.AddResolution <IToolHost>(string.Empty, false, new SingletonWrapperDependencyResolution <IToolHost>(TransientActivatorAutoWiringDependencyResolution <ToolHost> .From(dependencyManager)));
            dependencyManager.AddResolution <IAdoNetBufferingFascade>(string.Empty, false, new SingletonWrapperDependencyResolution <IAdoNetBufferingFascade>(TransientActivatorAutoWiringDependencyResolution <AdoNetBufferingFascade> .From(dependencyManager)));
        }
		public void ShouldFailOnNullTypeResolveUntypedTest()
		{
			TransientActivatorAutoWiringDependencyResolution<MockDependantObject> transientActivatorAutoWiringDependencyResolution;
			IDependencyManager mockDependencyManager;
			object result;
			MockFactory mockFactory;

			mockFactory = new MockFactory();
			mockDependencyManager = mockFactory.CreateInstance<IDependencyManager>();

			transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution<MockDependantObject>();

			result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, null, string.Empty);
		}
		public void ShouldFailOnNullDependencyManagerResolveUntypedTest()
		{
			TransientActivatorAutoWiringDependencyResolution<MockDependantObject> transientActivatorAutoWiringDependencyResolution;
			IDependencyManager mockDependencyManager;
			object result;
			MockFactory mockFactory;

			mockFactory = new MockFactory();
			mockDependencyManager = null;

			transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution<MockDependantObject>();

			result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, typeof(MockDependantObject), string.Empty);
		}
コード例 #12
0
        public static void OnDependencyMagic(IDependencyManager dependencyManager)
        {
            if ((object)dependencyManager == null)
            {
                throw new ArgumentNullException(nameof(dependencyManager));
            }

            dependencyManager.AddResolution <TextMetalConsoleApplication>(string.Empty, false, new SingletonWrapperDependencyResolution <TextMetalConsoleApplication>(TransientActivatorAutoWiringDependencyResolution <TextMetalConsoleApplication> .From(dependencyManager)));
        }
		public void ShouldFailOnNullKeyResolveTest()
		{
			TransientActivatorAutoWiringDependencyResolution transientActivatorAutoWiringDependencyResolution;
			IDependencyManager mockDependencyManager;
			object result;
			MockFactory mockFactory;

			mockFactory = new MockFactory();
			mockDependencyManager = mockFactory.CreateInstance<IDependencyManager>();

			transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution(typeof(int));

			result = transientActivatorAutoWiringDependencyResolution.Resolve(mockDependencyManager, typeof(object), null);
		}
		public void ShouldFailOnNullActualTypeCreateTest()
		{
			TransientActivatorAutoWiringDependencyResolution transientActivatorAutoWiringDependencyResolution;
			Type activatorType;

			activatorType = null;

			transientActivatorAutoWiringDependencyResolution = new TransientActivatorAutoWiringDependencyResolution(activatorType);
		}