public void PrepareToComposeUsingConstructorWithNullConstructorSelector()
        {
            var container = new ComponentContainer();
            var composer  = new ReflectionComponentComposer(container);

            Assert.Throws <ArgumentNullException>(() =>
                                                  composer.PrepareToComposeUsingConstructor(typeof(TestComponent), null));
        }
        public void ComposeUsingConstructor()
        {
            var container           = new ComponentContainer();
            var composer            = new ReflectionComponentComposer(container);
            var constructorSelector = new LargestConstructorSelector();
            var component           = composer.ComposeUsingConstructor(typeof(TestComponent), true, constructorSelector);

            Assert.IsType <TestComponent>(component);
        }
        public void PrepareToComposeUsingConstructor()
        {
            var container           = new ComponentContainer();
            var composer            = new ReflectionComponentComposer(container);
            var constructorSelector = new LargestConstructorSelector();
            var componentType       = typeof(TestComponent);

            composer.PrepareToComposeUsingConstructor(componentType, constructorSelector);

            var isPrepared = composer.IsPreparedToComposeUsingConstructor(componentType, constructorSelector);

            Assert.True(isPrepared);
        }
 public ContainerComponentTests()
 {
     this.Container           = new ComponentContainer();
     this.Composer            = new ReflectionComponentComposer(this.Container);
     this.ConstructorSelector = new LargestConstructorSelector();
 }