Пример #1
0
        public void should_use_provided_value_for_property_by_name()
        {
            const string expected = "expectedString";
            // --arrange
            var target = CreateTarget();

            target
            .Treat <Subject>()
            .AsIs()
            .InjectProperty(ForProperty.Named(nameof(Subject.StringProperty)).UseValue(expected));

            // --act
            var actual = target.Build <Subject>();

            // --assert
            actual.Should().NotBeNull();
            actual.StringProperty.Should().Be(expected);
            actual.InjectProperty.Should().BeNull();
        }
        public void should_use_argument_for_property_by_name(Func <BuildChainPatternTree, FinalTuner> tune)
        {
            const string expected = "expectedString";
            const string bad      = expected + "bad";

            // --arrange
            var target = CreateTarget();

            target.Treat <string>().AsInstance(bad);

            tune(target)
            .UsingArguments(ForProperty.Named(nameof(Subject.StringProperty)).UseValue(expected));

            // --act
            var actual = target.Build <ISubject>() !;

            // --assert
            actual.Should().NotBeNull();
            actual.StringProperty.Should().Be(expected);
            actual.InjectProperty.Should().BeNull();
        }