Пример #1
0
    public void should_build_arguments([Values(null, "tag")] string tag)
    {
        var expected = new List <int> {
            398, 68
        };
        var parameterInfo = typeof(Subject).GetMethod(nameof(Subject.Foo))?.GetParameters().Single(_ => _.Name == "list");

        // --arrange
        var buildSession = A.Fake <IBuildSession>();

        A.CallTo(() => buildSession.BuildChain).Returns(Unit.Is(parameterInfo).ToBuildChain());

        var buildUnitCall = A.CallTo(() => buildSession.BuildAllUnits(Unit.IsType <int>().Tag(tag)));

        buildUnitCall.Returns(expected.Select(_ => _.ToBuildResult().WithWeight(_)).ToList());

        var target = new BuildListArgumentForMethodParameter(tag);

        // --act
        target.Process(buildSession);

        // --assert
        buildUnitCall.MustHaveHappenedOnceAndOnly();
        buildSession.BuildResult.Value.As <List <int> >().Should().Equal(expected);
        A.CallTo(() => buildSession.BuildUnit(default)).WithAnyArguments().MustNotHaveHappened();
Пример #2
0
        public void should_build_list_of_values_for_any_collection(ParameterInfo parameterInfo)
        {
            // --arrange
            var target       = new BuildListArgumentForMethodParameter();
            var buildSession = A.Fake <IBuildSession>();

            A.CallTo(() => buildSession.BuildChain).Returns(new UnitId(parameterInfo, null).ToBuildChain());
            A.CallTo(() => buildSession.BuildAllUnits(default)).WithAnyArguments().Returns(new[] { 1, 2, 3 }.Select(_ => new BuildResult(_).WithWeight(0)).ToList());