Example #1
0
        public void Should_Get_BlockBuilder()
        {
            Specification <object> specification = s => s;

            var command = new AsCollectionCommand <IEnumerable <object>, object>(specification);

            var blockBuilder = command.GetScopeBuilder();

            blockBuilder.Should().NotBeNull();
        }
Example #2
0
        public void Should_GetOrRegisterSpecification_And_AddModelBlock()
        {
            Specification <object> specification = s => s;

            var command = new AsCollectionCommand <IEnumerable <object>, object>(specification);

            var blockBuilder = command.GetScopeBuilder();

            var buildingContext = Substitute.For <IScopeBuilderContext>();

            buildingContext.GetOrRegisterSpecificationScope(Arg.Is <Specification <object> >(arg => ReferenceEquals(arg, specification))).Returns(666);

            var block = blockBuilder.Build(buildingContext);

            block.Should().BeOfType <CollectionCommandScope <IEnumerable <object>, object> >();

            var modelBlock = (CollectionCommandScope <IEnumerable <object>, object>)block;

            modelBlock.ScopeId.Should().Be(666);

            buildingContext.Received(1).GetOrRegisterSpecificationScope(Arg.Is <Specification <object> >(arg => ReferenceEquals(arg, specification)));
        }