Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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);
                }
            }
        }
Beispiel #3
0
        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);
                }
            }
        }
Beispiel #4
0
 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);
     }
 }
Beispiel #5
0
 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);
         }
 }
Beispiel #6
0
        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);
                }
            }
        }
Beispiel #7
0
        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);
                }
            }
        }
Beispiel #8
0
        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);
                }
            }
        }
Beispiel #9
0
        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);
                }
            }
        }