public void PrivateTest() { var codeWriter = new CodeWriter(); dynamic codeWriterAccessor = new AccessPrivateWrapper( codeWriter ); Assert.IsNull( codeWriterAccessor.lastLine, "After initialize CodeWriter lastLine must be null" ); Assert.IsNotNull( codeWriterAccessor.Lines, "Lines must be not null" ); Assert.AreEqual( 0, codeWriterAccessor.Lines.Count, "Lines must be empty" ); codeWriter.Append( "Test" ); Assert.That( codeWriterAccessor.lastLine, Is.Not.Null, "After Append text lastLine must be not null" ); Assert.That( codeWriter.Lines, Is.Not.Null.And.Count.EqualTo( 1 ), "After first Append text code write must consist from one line" ); codeWriter.AppendLine( "Text" ); Assert.That( (object)codeWriterAccessor.lastLine, Is.Null, "After initialize CodeWriter lastLine must be null" ); Assert.That( codeWriter.Lines, Is.Not.Null.And.Count.EqualTo( 1 ), "After first Append text code write must consist from one line" ); codeWriterAccessor.InnerAppend( "Text", false ); Assert.That( codeWriterAccessor.lastLine, Is.Not.Null, "After Append text lastLine must be not null" ); Assert.That( codeWriter.Lines, Is.Not.Null.And.Count.EqualTo( 2 ), "CodeWrite must consist from two line" ); codeWriterAccessor.InnerAppend( "Text", true ); Assert.That( (object)codeWriterAccessor.lastLine, Is.Null, "After Append text lastLine must be null" ); Assert.That( codeWriter.Lines, Is.Not.Null.And.Count.EqualTo( 2 ), "CodeWrite must consist from two line" ); codeWriter.AppendText( "new\r\nline" ); Assert.That( codeWriterAccessor.lastLine, Is.Not.Null, "Appended text not finish last line, but CodeWriter finish it" ); Assert.That( codeWriter.Lines, Is.Not.Null.And.Count.EqualTo( 4 ), "CodeWrite must consist from four line" ); codeWriter.AppendText( "new\r\nlines\r\n" ); Assert.That( (object)codeWriterAccessor.lastLine, Is.Null, "Appended text finish last line, but CodeWriter doesn't" ); Assert.That( codeWriter.Lines, Is.Not.Null.And.Count.EqualTo( 5 ), "CodeWrite must consist from five line" ); }