public void StateTest002() { string filePath = Path.Combine(Util.ArtifactsDataPath, "testhello.obz"); string outFilePath = filePath + ".bz3"; try { byte[] buffer = Util.ReadFileToEnd(filePath); byte[] data = new byte[buffer.Length + 32]; Buffer.BlockCopy(buffer, 0, data, 0, buffer.Length); long bytesWritten = 0; using (Stream stream = new FileStream( outFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) using (BSOutputStream writer = new BSOutputStream(stream, 4096)) { writer.Write(data, 0, 8); byte state = writer.Coder.State(0.5f); Assert.Equal(2, state); writer.Write(data, 0, buffer.Length - 8); bytesWritten = stream.Position; } } finally { if (File.Exists(outFilePath)) { File.Delete(outFilePath); } } }
public void EncoderNoLearn001() { string filePath = Path.Combine(Util.ArtifactsDataPath, "testhello.obz"); string outFilePath = filePath + ".bz3"; try { byte[] buffer = Util.ReadFileToEnd(filePath); long bytesWritten = 0; using (Stream stream = new FileStream( outFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) using (BSOutputStream writer = new BSOutputStream(stream, 4096)) { writer.Write(buffer, 0, buffer.Length / 2); bytesWritten = stream.Position; byte ctx = 0x01; writer.Coder.EncoderNoLearn(1, ref ctx); ctx = 0x01; writer.Coder.EncoderNoLearn(0, ref ctx); } } finally { if (File.Exists(outFilePath)) { File.Delete(outFilePath); } } }
public void DisposeTest001() { string filePath = Path.Combine(Util.ArtifactsDataPath, "testhello.obz"); string outFilePath = filePath + ".bz3"; try { byte[] buffer = Util.ReadFileToEnd(filePath); long bytesWritten = 0; using (Stream stream = new FileStream( outFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) using (BSOutputStream writer = new BSOutputStream(stream, 4096)) { writer.Write(buffer, 0, buffer.Length / 2); bytesWritten = stream.Position; Assert.False(writer.Coder.Disposed); writer.Coder.Dispose(); Assert.True(writer.Coder.Disposed); } } finally { if (File.Exists(outFilePath)) { File.Delete(outFilePath); } } }
public void BSOutputStreamTest001() { using (BSOutputStream outStream = new BSOutputStream()) { Assert.NotNull(outStream.BaseStream); Assert.IsType <MemoryStream>(outStream.BaseStream); Assert.True(outStream.CanWrite); Assert.False(outStream.CanRead); Assert.False(outStream.CanSeek); } }
public void InitTest002() { byte[] buffer = new byte[16]; using (MemoryStream stream = new MemoryStream(buffer)) using (BSOutputStream outStream = (BSOutputStream) new BSOutputStream().Init(stream)) { Assert.NotNull(outStream.BaseStream); Assert.IsType <MemoryStream>(outStream.BaseStream); Assert.Same(stream, outStream.BaseStream); Assert.True(outStream.CanWrite); Assert.False(outStream.CanRead); Assert.False(outStream.CanSeek); } }
public void WriteTest003() { string filePath = Path.Combine(Util.ArtifactsPath, "test042C.djvu"); string outFilePath = Path.Combine(Util.ArtifactsDataPath, Path.GetFileName(filePath) + ".2048.bz3"); string refFilePath = Path.Combine(Util.ArtifactsDataPath, Path.GetFileName(filePath) + ".2048.bzz"); try { byte[] buffer = Util.ReadFileToEnd(filePath); byte[] data = new byte[buffer.Length + 32]; Buffer.BlockCopy(buffer, 0, data, 0, buffer.Length); long bytesWritten = 0; using (Stream stream = new FileStream( outFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) using (BSOutputStream writer = new BSOutputStream(stream, 2048)) { writer.Write(data, 0, buffer.Length); bytesWritten = stream.Position; } byte[] testBuffer = Util.ReadFileToEnd(outFilePath); byte[] refBuffer = Util.ReadFileToEnd(refFilePath); Util.AssertBufferEqal(testBuffer, refBuffer); using (MemoryStream readStream = new MemoryStream(testBuffer)) using (BzzReader reader = new BzzReader(new BSInputStream(readStream))) { byte[] testResult = reader.ReadBytes(buffer.Length); Assert.NotNull(testResult); Assert.Equal(buffer.Length, testResult.Length); for (int i = 0; i < buffer.Length; i++) { Assert.Equal(buffer[i], testResult[i]); } } } finally { if (File.Exists(outFilePath)) { File.Delete(outFilePath); } } }
public void WriteTest001() { UTF8Encoding encoding = new UTF8Encoding(false); string filePath = Path.Combine(Util.ArtifactsDataPath, "testhello.obz"); string outFilePath = Path.GetTempFileName(); try { byte[] buffer = Util.ReadFileToEnd(filePath); string testText = "Hello bzz! \r\n"; string sourceText = new UTF8Encoding(false).GetString(buffer); Assert.Equal(testText, sourceText); byte[] data = new byte[buffer.Length + 32]; Buffer.BlockCopy(buffer, 0, data, 0, buffer.Length); long bytesWritten = 0; using (Stream stream = new FileStream( outFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) using (BSOutputStream writer = new BSOutputStream(stream, 4096)) { writer.Write(data, 0, buffer.Length); bytesWritten = stream.Position; } byte[] testBuffer = Util.ReadFileToEnd(outFilePath); using (MemoryStream readStream = new MemoryStream(testBuffer)) using (BzzReader reader = new BzzReader(new BSInputStream(readStream))) { string testResult = reader.ReadUTF8String(testText.Length); Assert.False(String.IsNullOrWhiteSpace(testResult)); Assert.Equal(testText, testResult); } } finally { if (File.Exists(outFilePath)) { File.Delete(outFilePath); } } }
public void WriteTest002() { string filePath = Path.Combine(Util.ArtifactsDataPath, "DjvuNet.pdb"); string outFilePath = Path.GetTempFileName(); string refFilePath = filePath + ".bzz"; try { byte[] buffer = Util.ReadFileToEnd(filePath); byte[] data = new byte[buffer.Length + 32]; Buffer.BlockCopy(buffer, 0, data, 0, buffer.Length); long bytesWritten = 0; using (Stream stream = new FileStream( outFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) using (BSOutputStream writer = new BSOutputStream(stream, 4096)) { writer.Write(data, 0, buffer.Length); bytesWritten = stream.Position; } byte[] testBuffer = Util.ReadFileToEnd(outFilePath); byte[] refBuffer = Util.ReadFileToEnd(refFilePath); Util.AssertBufferEqal(testBuffer, refBuffer); using (MemoryStream readStream = new MemoryStream(testBuffer)) using (BzzReader reader = new BzzReader(new BSInputStream(readStream))) { byte[] testResult = reader.ReadBytes(buffer.Length); Assert.NotNull(testResult); Util.AssertBufferEqal(testResult, buffer); } } finally { if (File.Exists(outFilePath)) { File.Delete(outFilePath); } } }
public void WriteTest004() { string filePath = Path.Combine(Util.ArtifactsDataPath, "LLVMMCJIT.lib"); string outFilePath = Path.Combine(Util.ArtifactsDataPath, Path.GetFileName(filePath) + ".2048.bz3"); string refFilePath = Path.Combine(Util.ArtifactsDataPath, Path.GetFileName(filePath) + ".2048.bzz"); try { byte[] buffer = Util.ReadFileToEnd(filePath); long bytesWritten = 0; using (Stream stream = new FileStream( outFilePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) using (BSOutputStream writer = new BSOutputStream(stream, 2048)) { writer.Write(buffer, 0, buffer.Length); bytesWritten = stream.Position; } byte[] outputBuffer = Util.ReadFileToEnd(outFilePath); byte[] refBuffer = Util.ReadFileToEnd(refFilePath); Util.AssertBufferEqal(outputBuffer, refBuffer); using (FileStream readStream = new FileStream(outFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) using (BzzReader reader = new BzzReader(new BSInputStream(readStream))) { byte[] testResult = reader.ReadBytes(buffer.Length); Assert.NotNull(testResult); Util.AssertBufferEqal(testResult, buffer); } } finally { if (File.Exists(outFilePath)) { File.Delete(outFilePath); } } }