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); }
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); }