示例#1
0
        public void MoveChildren_ThrowsBlockExceptionIfAChildIsNotOfTheExpectedType()
        {
            // Arrange
            const int dummyLineIndex   = 6;
            const int dummyColumn      = 2;
            var       dummyChildBlock1 = new DummyChildBlock(null);
            Block     dummyChildBlock2 = _mockRepository.Create <Block>(null).Object;
            var       dummyChildBlock3 = new DummyChildBlock(null);
            var       dummyProxyFencedContainerBlock = new ProxyFencedContainerBlock(0, 0, null, null)
            {
                dummyChildBlock1, dummyChildBlock2, dummyChildBlock3
            };
            ContainerBlock dummyTarget = _mockRepository.Create <ContainerBlock>(null).Object;

            dummyTarget.Column = dummyColumn;
            dummyTarget.Line   = dummyLineIndex;
            ExposedCollectionBlockFactory testSubject = CreateExposedCollectionBlockFactory();

            // Act and assert
            BlockException result = Assert.Throws <BlockException>(() => testSubject.ExposedMoveChildren(dummyProxyFencedContainerBlock, dummyTarget));

            Assert.Equal(string.Format(Strings.BlockException_BlockException_InvalidBlock,
                                       dummyTarget.GetType().Name,
                                       dummyLineIndex + 1,
                                       dummyColumn,
                                       string.Format(Strings.BlockException_Shared_BlockMustOnlyContainASpecificTypeOfBlock,
                                                     nameof(ContainerBlock),
                                                     nameof(DummyChildBlock),
                                                     dummyChildBlock2.GetType().Name)),
                         result.Message);
        }
示例#2
0
        public void MoveChildren_MovesChildren()
        {
            // Arrange
            var dummyChildBlock1 = new DummyChildBlock(null);
            var dummyChildBlock2 = new DummyChildBlock(null);
            var dummyChildBlock3 = new DummyChildBlock(null);
            var dummyProxyFencedContainerBlock = new ProxyFencedContainerBlock(0, 0, null, null)
            {
                dummyChildBlock1, dummyChildBlock2, dummyChildBlock3
            };
            ContainerBlock dummyTarget = _mockRepository.Create <ContainerBlock>(null).Object;
            ExposedCollectionBlockFactory testSubject = CreateExposedCollectionBlockFactory();

            // Act
            testSubject.ExposedMoveChildren(dummyProxyFencedContainerBlock, dummyTarget);

            // Assert
            Assert.Equal(3, dummyTarget.Count);
            // Correct order
            Assert.Same(dummyChildBlock1, dummyTarget[0]);
            Assert.Same(dummyChildBlock2, dummyTarget[1]);
            Assert.Same(dummyChildBlock3, dummyTarget[2]);
            Assert.Empty(dummyProxyFencedContainerBlock);
        }