public void Indexer_ProvidesCharacterAccessToContent(int contentLength) { // Arrange var content = new char[contentLength]; for (var i = 0; i < contentLength - 1; i++) { content[i] = 'a'; } content[contentLength - 1] = 'b'; var contentString = new string(content); var stream = TestRazorSourceDocument.CreateStreamContent(new string(content)); var reader = new StreamReader(stream, true); var document = new LargeTextSourceDocument(reader, ChunkTestLength, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var output = new char[contentLength]; for (var i = 0; i < document.Length; i++) { output[i] = document[i]; } var outputString = new string(output); // Assert Assert.Equal(contentLength, document.Length); Assert.Equal(contentString, outputString); }
public void Lines() { // Arrange var stream = TestRazorSourceDocument.CreateStreamContent("abc\ndef\nghi"); var reader = new StreamReader(stream, true); // Act var document = new LargeTextSourceDocument(reader, ChunkTestLength, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Assert Assert.Equal(3, document.Lines.Count); }
public void RelativePath(string relativePath) { // Arrange var stream = TestRazorSourceDocument.CreateStreamContent("abc"); var reader = new StreamReader(stream, true); // Act var document = new LargeTextSourceDocument(reader, ChunkTestLength, Encoding.UTF8, new RazorSourceDocumentProperties(filePath: null, relativePath: relativePath)); // Assert Assert.Equal(relativePath, document.RelativePath); }
public void FilePath(string filePath) { // Arrange var stream = TestRazorSourceDocument.CreateStreamContent("abc"); var reader = new StreamReader(stream, true); // Act var document = new LargeTextSourceDocument(reader, ChunkTestLength, Encoding.UTF8, filePath); // Assert Assert.Equal(filePath, document.FilePath); }
public void GetChecksum_ComputesCorrectChecksum_UTF32() { // Arrange var contentString = "Hello World"; var stream = TestRazorSourceDocument.CreateStreamContent(contentString, Encoding.UTF32); var reader = new StreamReader(stream, detectEncodingFromByteOrderMarks: true); var document = new LargeTextSourceDocument(reader, 5, Encoding.UTF32, RazorSourceDocumentProperties.Default); var expectedChecksum = new byte[] { 108, 172, 130, 171, 42, 19, 155, 176, 211, 80, 224, 121, 169, 133, 25, 134, 48, 228, 199, 141 }; // Act var checksum = document.GetChecksum(); // Assert Assert.Equal(expectedChecksum, checksum); }
public void GetChecksum_ComputesCorrectChecksum_UTF8() { // Arrange var contentString = "Hello World"; var stream = TestRazorSourceDocument.CreateStreamContent(contentString); var reader = new StreamReader(stream, detectEncodingFromByteOrderMarks: true); var document = new LargeTextSourceDocument(reader, 5, Encoding.UTF8, RazorSourceDocumentProperties.Default); var expectedChecksum = new byte[] { 10, 77, 85, 168, 215, 120, 229, 2, 47, 171, 112, 25, 119, 197, 216, 64, 187, 196, 134, 208 }; // Act var checksum = document.GetChecksum(); // Assert Assert.Equal(expectedChecksum, checksum); }
public void GetChecksum_ReturnsCopiedChecksum() { // Arrange var contentString = "Hello World"; var stream = TestRazorSourceDocument.CreateStreamContent(contentString); var reader = new StreamReader(stream, detectEncodingFromByteOrderMarks: true); var document = new LargeTextSourceDocument(reader, 5, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var firstChecksum = document.GetChecksum(); var secondChecksum = document.GetChecksum(); // Assert Assert.Equal(firstChecksum, secondChecksum); Assert.NotSame(firstChecksum, secondChecksum); }
[InlineData("xyz", 23, 0, 3)] // The last chars public void CopyTo(string expected, int sourceIndex, int destinationIndex, int count) { // Arrange var stream = TestRazorSourceDocument.CreateStreamContent("abcdefghijklmnopqrstuvwxyz"); var reader = new StreamReader(stream, true); var document = new LargeTextSourceDocument(reader, ChunkTestLength, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var destination = new char[1000]; document.CopyTo(sourceIndex, destination, destinationIndex, count); // Assert var copy = new string(destination, destinationIndex, count); Assert.Equal(expected, copy); }