예제 #1
0
        public void BiggerThanBuffer_AlignedWithIndent(string indent, string input, string expected1stLine, string expected2ndLine)
        {
            var aligner = new ConsoleOutputAligner(bufferWidth: 4, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: indent.Length);

            output.ShouldBe(expected1stLine + Environment.NewLine + expected2ndLine + Environment.NewLine);
        }
예제 #2
0
        public void NoAlignPrefixAlreadyWritten_NotChanged(string input)
        {
            var aligner = new ConsoleOutputAligner(bufferWidth: 10, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: true, prefixWidth: 0);

            output.ShouldBe(input + Environment.NewLine);
        }
예제 #3
0
        public void SmallerThanBuffer_NotAligned(string indent, string input)
        {
            var aligner = new ConsoleOutputAligner(bufferWidth: 4, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: indent.Length);

            output.ShouldBe(indent + input + Environment.NewLine);
        }
예제 #4
0
        public void NoAlignNoIndent_NotAlignedEvenIfBiggerThanBuffer(string input)
        {
            var aligner = new ConsoleOutputAligner(bufferWidth: 4, alignMessages: false);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: 0);

            output.ShouldBe(input + Environment.NewLine);
        }
예제 #5
0
        public void WithoutBufferWidthWithoutIndentWithAlign_NotIndentedAndNotAligned(string input)
        {
            var aligner = new ConsoleOutputAligner(bufferWidth: -1, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: 0);

            output.ShouldBe(input + Environment.NewLine);
        }
예제 #6
0
        public void XTimesBiggerThanBuffer_AlignedToMultipleLines(string indent, string input, string expected)
        {
            var aligner = new ConsoleOutputAligner(bufferWidth: 4, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: indent.Length);

            output.ShouldBe(expected.Replace("\n", Environment.NewLine));
        }
예제 #7
0
        public void NoBufferWidthNoIndent_NotAligned(int sizeOfMessage)
        {
            string input   = new string('.', sizeOfMessage);
            var    aligner = new ConsoleOutputAligner(bufferWidth: -1, alignMessages: false);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: 0);

            output.ShouldBe(input + Environment.NewLine);
        }
예제 #8
0
        public void LastTabAtLimit_NoChange(string prefix, string input, int bufferWidthWithoutNewLine, bool prefixAlreadyWritten)
        {
            input = input.Replace("\n", Environment.NewLine);
            var aligner = new ConsoleOutputAligner(bufferWidth: bufferWidthWithoutNewLine + 1, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: prefixAlreadyWritten, prefixWidth: prefix.Length);

            output.ShouldBe((prefixAlreadyWritten ? string.Empty : prefix) + input + Environment.NewLine);
        }
예제 #9
0
        public void ShortTextWithTabs_NoChange(string input)
        {
            input = input.Replace("\n", Environment.NewLine);
            var aligner = new ConsoleOutputAligner(bufferWidth: 50, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: true, prefixWidth: 0);

            output.ShouldBe(input + Environment.NewLine);
        }
예제 #10
0
        public void ShortMultiLineWithMixedNewLines_NewLinesReplacedByActualEnvironmentNewLines(string input)
        {
            string expected = input.Replace("\r", "").Replace("\n", Environment.NewLine) + Environment.NewLine;
            var    aligner  = new ConsoleOutputAligner(bufferWidth: 10, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: true, prefixWidth: 0);

            output.ShouldBe(expected);
        }
예제 #11
0
        public void IndentBiggerThanBuffer_IndentedAndNotAligned(string input, bool aligned)
        {
            string indent  = "    ";
            var    aligner = new ConsoleOutputAligner(bufferWidth: 4, alignMessages: aligned);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: indent.Length);

            output.ShouldBe(indent + input + Environment.NewLine);
        }
예제 #12
0
        public void MultiLineWithoutAlign_NotChanged(string input)
        {
            input = input.Replace("\n", Environment.NewLine);
            var aligner = new ConsoleOutputAligner(bufferWidth: 4, alignMessages: false);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: true, prefixWidth: 0);

            output.ShouldBe(input + Environment.NewLine);
        }
예제 #13
0
        public void MultiLinesOverLimit_IndentAndAlign(string prefix, string input, string expected, int bufferWidthWithoutNewLine, bool prefixAlreadyWritten)
        {
            input    = input.Replace("\n", Environment.NewLine);
            expected = expected.Replace("\n", Environment.NewLine);
            var aligner = new ConsoleOutputAligner(bufferWidth: bufferWidthWithoutNewLine + 1, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: prefixAlreadyWritten, prefixWidth: prefix.Length);

            output.ShouldBe(expected);
        }
예제 #14
0
        public void MultiLineWithoutPrefixAlreadyWritten(string prefix, string input, string expected)
        {
            input    = input.Replace("\n", Environment.NewLine);
            expected = expected.Replace("\n", Environment.NewLine);
            var aligner = new ConsoleOutputAligner(bufferWidth: 4, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: false, prefixWidth: prefix.Length);

            output.ShouldBe(expected);
        }
예제 #15
0
        public void NonStandardNewLines_AlignAsExpected(string input, string expected)
        {
            expected = expected.Replace("\n", Environment.NewLine) + Environment.NewLine;

            var aligner = new ConsoleOutputAligner(bufferWidth: 10, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input, prefixAlreadyWritten: true, prefixWidth: 2);

            output.ShouldBe(expected);
        }
예제 #16
0
        public void TabsMakesItJustOverLimit_IndentAndAlign(string prefix, string input, int bufferWidthWithoutNewLine, bool prefixAlreadyWritten)
        {
            input = input.Replace("\n", Environment.NewLine);
            var aligner = new ConsoleOutputAligner(bufferWidth: bufferWidthWithoutNewLine + 1, alignMessages: true);

            string output = aligner.AlignConsoleOutput(message: input + "x", prefixAlreadyWritten: prefixAlreadyWritten, prefixWidth: prefix.Length);

            string expected = (prefixAlreadyWritten ? string.Empty : prefix) + input + Environment.NewLine +
                              prefix + "x" + Environment.NewLine;

            output.ShouldBe(expected);
        }