Exemplo n.º 1
0
        public void GetProperExceptionMessageWhenBuildingInterface()
        {
            TestingBuilderContext context = TestingBuilderContext.GetFullContext();

            try
            {
                context.ExecuteBuildUp(typeof(ISomethingOrOther), null);
                Assert.Fail();
            }
            catch (BuildFailedException ex)
            {
                Assert.IsTrue(ex.Message.Contains("is an interface"));
                return;
            }
        }
Exemplo n.º 2
0
        public void GetParameterNameInExceptionMessageOnFailedResolution()
        {
            TestingBuilderContext context = TestingBuilderContext.GetFullContext();

            try
            {
                context.ExecuteBuildUp(typeof(FileLogger), null);
                Assert.Fail();
            }
            catch (BuildFailedException ex)
            {
                Assert.IsTrue(ex.Message.Contains("logFile"));
                return;
            }
        }
Exemplo n.º 3
0
        public void StrategyGetsBuildPlanFromPolicySet()
        {
            TestingBuilderContext context = new TestingBuilderContext();

            context.Strategies.Add(new BuildPlanStrategy());
            object instance = new object();
            ReturnInstanceBuildPlan plan = new ReturnInstanceBuildPlan(instance);

            context.Policies.Set <IBuildPlanPolicy>(plan, typeof(object));

            object result = context.ExecuteBuildUp(typeof(object), null);

            Assert.IsTrue(plan.BuildUpCalled);
            Assert.AreSame(instance, result);
        }
        public void GetExpectedExceptionMessageWhenPropertiesAreNotResolved()
        {
            TestingBuilderContext   context  = TestingBuilderContext.GetFullContext();
            ClassThatTakesInterface existing = new ClassThatTakesInterface();

            try
            {
                context.ExecuteBuildUp(typeof(ClassThatTakesInterface), existing);
                Assert.Fail();
            }
            catch (BuildFailedException ex)
            {
                StringAssert.Contains(ex.Message, "property \"Foo\"");
                return;
            }
        }
Exemplo n.º 5
0
        public void StrategyCreatesBuildPlanWhenItDoesntExist()
        {
            TestingBuilderContext context = new TestingBuilderContext();

            context.Strategies.Add(new BuildPlanStrategy());
            MockBuildPlanCreatorPolicy policy = new MockBuildPlanCreatorPolicy();

            context.Policies.SetDefault <IBuildPlanCreatorPolicy>(policy);

            object result = context.ExecuteBuildUp(typeof(object), null);

            Assert.IsNotNull(result);
            Assert.IsTrue(policy.PolicyWasCreated);

            IBuildPlanPolicy plan = context.Policies.Get <IBuildPlanPolicy>(typeof(object));

            Assert.IsNotNull(plan);
        }
Exemplo n.º 6
0
        public void GetProperExceptionMessageWhenFailingToResolveMethodParameter()
        {
            TestingBuilderContext context     = TestingBuilderContext.GetFullContext();
            ILifetimePolicy       intLifetime = new SingletonLifetimePolicy();

            intLifetime.SetValue(42);
            context.PersistentPolicies.Set(intLifetime, typeof(int));

            ObjectWithInjectionMethod existing = new ObjectWithInjectionMethod();

            try
            {
                context.ExecuteBuildUp(typeof(ObjectWithInjectionMethod), existing);
                Assert.Fail();
            }
            catch (BuildFailedException ex)
            {
                StringAssert.Contains(ex.Message, "DoSomething");
                StringAssert.Contains(ex.Message, "stringParam");
            }
        }