public void TestRemovingAllCharsLeavesEmptyBuilder() { var builder = new ColoredMultistringBuilder(); builder.Append(anyArrayOfMultipleColoredStrings); builder.Remove(0, builder.Length); builder.ShouldBeEmpty(); }
public void TestRemovingZeroLengthPreservesBuilderContent() { var builder = new ColoredMultistringBuilder(); builder.Append(anyArrayOfMultipleColoredStrings); builder.Remove(0, 0); builder.ShouldProduce(anyArrayOfMultipleColoredStrings); }
public void TestRemovingAcrossPieces() { var builder = new ColoredMultistringBuilder(); builder.Append(anyArrayOfMultipleColoredStrings); builder.Remove(1, builder.Length - 2); builder.ShouldProduce( anyArrayOfMultipleColoredStrings[0].Substring(0, 1), anyArrayOfMultipleColoredStrings.Last().Substring(anyArrayOfMultipleColoredStrings.Last().Length - 1)); }
public void TestRemovingMiddleOfPiecePreservesSurroundingText() { var builder = new ColoredMultistringBuilder(); const string anyString = "SomeStringWithLength"; var piece = new ColoredString(anyString, Any.Enum <ConsoleColor>()); const int removeIndex = 2; const int removeLength = 3; builder.Append(piece); builder.Remove(removeIndex, removeLength); builder.ShouldProduce(new ColoredString( anyString.Remove(removeIndex, removeLength), piece.ForegroundColor, piece.BackgroundColor)); }