Esempio n. 1
0
        public void WhenInjectedIntoActivity_WithFunc_WhenFuncDoesNotMatch_MustNotFulfillDependency()
        {
            this.Kernel.Bind <IDependency>().To <Dependency>()
            .WhenInjectedIntoActivity(a => a.DisplayName == string.Empty);

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            Assert.Throws <ActivationException>(() => this.Kernel.Inject(activity, new RootActivityParameter(activity)));
        }
        public void WhenInjectedIntoActivity_WithType_WhenTypeActivityButRootActivityDoesNotMatch_MustNotFulfillDependency()
        {
            this.Kernel.Bind<IDependency>().To<Dependency>()
                .WhenInjectedIntoActivity(typeof(TestActivityWithDependency));

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            Assert.Throws<ActivationException>(() => this.Kernel.Inject(activity, new RootActivityParameter(activity)));
        }
Esempio n. 3
0
        public void WhenInjectedIntoActivity_WithFunc_WhenNoRootActivityParameter_MustNotFulfillDependency()
        {
            this.Kernel.Bind <IDependency>().To <Dependency>()
            .WhenInjectedIntoActivity(a => true);

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            Assert.Throws <ActivationException>(() => this.Kernel.Inject(activity));
        }
Esempio n. 4
0
        public void WhenInjectedIntoActivity_WithType_WhenTypeActivityButRootActivityDoesNotMatch_MustNotFulfillDependency()
        {
            this.Kernel.Bind <IDependency>().To <Dependency>()
            .WhenInjectedIntoActivity(typeof(TestActivityWithDependency));

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            Assert.Throws <ActivationException>(() => this.Kernel.Inject(activity, new RootActivityParameter(activity)));
        }
Esempio n. 5
0
        public void Process_MustNotFullFillDependencyOnRootActivity()
        {
            this.SetupDependencyBinding();

            TestActivityWithDependencyAndAttribute root = SetupActivityWithDependencyAttribute();

            this.testee.Process(new WriteLine(), root);

            root.Dependency.Should().BeNull();
        }
Esempio n. 6
0
        public void Process_WhenBindingDefined_WhenInjectAttributeDefined_MustFullFillDependencyOnActivity()
        {
            this.SetupDependencyBinding();

            TestActivityWithDependencyAndAttribute activityWithDependencyAndAttribute = SetupActivityWithDependencyAttribute();

            this.testee.Process(activityWithDependencyAndAttribute, null);

            activityWithDependencyAndAttribute.Dependency.Should().NotBeNull();
        }
        public void WhenInjectedIntoActivity_WithFunc_WhenFuncDoesMatch_MustFulfillDependency()
        {
            this.Kernel.Bind<IDependency>().To<Dependency>()
                .WhenInjectedIntoActivity(a => true);

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            this.Kernel.Inject(activity, new RootActivityParameter(activity));

            activity.Dependency.Should().NotBeNull();
        }
        public void WhenInjectedIntoActivity_WithType_WhenTypeActivityAndRootActivityParameter_MustFulfillDependency()
        {
            this.Kernel.Bind<IDependency>().To<Dependency>()
                .WhenInjectedIntoActivity(typeof(TestActivityWithDependencyAndAttribute));

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            this.Kernel.Inject(activity, new RootActivityParameter(activity));

            activity.Dependency.Should().NotBeNull();
        }
Esempio n. 9
0
        public void WhenInjectedIntoActivity_WithFunc_WhenFuncDoesMatch_MustFulfillDependency()
        {
            this.Kernel.Bind <IDependency>().To <Dependency>()
            .WhenInjectedIntoActivity(a => true);

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            this.Kernel.Inject(activity, new RootActivityParameter(activity));

            activity.Dependency.Should().NotBeNull();
        }
Esempio n. 10
0
        public void WhenInjectedIntoActivity_WithType_WhenTypeActivityAndRootActivityParameter_MustFulfillDependency()
        {
            this.Kernel.Bind <IDependency>().To <Dependency>()
            .WhenInjectedIntoActivity(typeof(TestActivityWithDependencyAndAttribute));

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            this.Kernel.Inject(activity, new RootActivityParameter(activity));

            activity.Dependency.Should().NotBeNull();
        }
        public ActivityInjectorTest()
        {
            this.extension = new Mock<IActivityInjectorExtension>();
            this.anotherExtension = new Mock<IActivityInjectorExtension>();
            this.injectOnKernelExtension = new Mock<IInjectOnKernelExtension>();

            this.activityResolver = new Mock<IActivityResolver>();

            this.rootActivity = new Sequence();
            this.childActivity = new TestActivityWithDependencyAndAttribute();

            this.testee = new ActivityInjector(this.activityResolver.Object, new List<IActivityInjectorExtension> { this.extension.Object, this.injectOnKernelExtension.Object, this.anotherExtension.Object });
        }
        public ActivityInjectorTest()
        {
            this.extension               = new Mock <IActivityInjectorExtension>();
            this.anotherExtension        = new Mock <IActivityInjectorExtension>();
            this.injectOnKernelExtension = new Mock <IInjectOnKernelExtension>();

            this.activityResolver = new Mock <IActivityResolver>();

            this.rootActivity  = new Sequence();
            this.childActivity = new TestActivityWithDependencyAndAttribute();

            this.testee = new ActivityInjector(this.activityResolver.Object, new List <IActivityInjectorExtension> {
                this.extension.Object, this.injectOnKernelExtension.Object, this.anotherExtension.Object
            });
        }
Esempio n. 13
0
        public void Process_MustAddRootActivityParameterToRequest()
        {
            IRequest request = null;

            this.Kernel.Bind <IDependency>().To <Dependency>()
            .When(r =>
            {
                request = r;
                return(true);
            });

            TestActivityWithDependencyAndAttribute root = SetupActivityWithDependencyAttribute();

            this.testee.Process(root, root);

            request.Parameters.OfType <RootActivityParameter>().Single().Should().NotBeNull();
        }
        public void WhenInjectedIntoActivity_WithFunc_WhenFuncDoesNotMatch_MustNotFulfillDependency()
        {
            this.Kernel.Bind<IDependency>().To<Dependency>()
                .WhenInjectedIntoActivity(a => a.DisplayName == string.Empty);

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            Assert.Throws<ActivationException>(() => this.Kernel.Inject(activity, new RootActivityParameter(activity)));
        }
        public void WhenInjectedIntoActivity_WithFunc_WhenNoRootActivityParameter_MustNotFulfillDependency()
        {
            this.Kernel.Bind<IDependency>().To<Dependency>()
                .WhenInjectedIntoActivity(a => true);

            TestActivityWithDependencyAndAttribute activity = new TestActivityWithDependencyAndAttribute();

            Assert.Throws<ActivationException>(() => this.Kernel.Inject(activity));
        }
Esempio n. 16
0
        public void Process_WhenBindingNotDefined_WhenInjectAttributeDefined_MustMustThrowActivationException()
        {
            TestActivityWithDependencyAndAttribute activityWithDependencyAndAttribute = SetupActivityWithDependencyAttribute();

            Assert.Throws <ActivationException>(() => this.testee.Process(activityWithDependencyAndAttribute, null));
        }