Example #1
0
        public void Should_Be_Able_To_Use_Descendant_Classes()
        {
            // given
            var builder = new SutBuilder();

            // when

            // then
            Assert.DoesNotThrow(() => builder.Inject(new SomethingElseMaker()));
            Assert.DoesNotThrow(() => builder.Inject(Substitute.For <SomethingElseMaker>()));
        }
Example #2
0
        public void Should_Format_Using_Additional_Injections_And_Configuration()
        {
            // given
            var argProvider = Substitute.For <IArgumentsProvider>();

            argProvider.GetArguments().Returns(new object[] { "guys" });

            var somethingMaker             = new SomethingMaker();
            var parametrizedSomethingMaker = new ParametrizedSomethingMaker(256);

            SutBuilder
            .Inject(
                somethingMaker,
                parametrizedSomethingMaker,
                argProvider)
            .Configure <IFormatProvider>(fp => fp.GetFormat().Returns("Goodbye {0}!"));

            var logger = SutBuilder.Get <IMyLogger>();

            // sut
            var sut = SutBuilder.Build();

            // when
            var result = sut.FormatMessage();

            // then
            logger.Received().Log("formatting ...");

            Assert.That(result, Is.EqualTo("Goodbye guys!"));
        }