Пример #1
0
        private string GetHumanReadableDelta(string oldFile, string newFile)
        {
            using (var oldStream = GetTestDataStream(oldFile))
                using (var newStream = GetTestDataStream(newFile))
                {
                    var builder = new SignatureBuilder();
                    var sigJob  = new SignatureJob(oldStream, builder);
                    sigJob.Run();

                    oldStream.Seek(0, SeekOrigin.Begin);

                    var writer   = new HumanReadableDeltaWriter();
                    var deltaJob = new DeltaJob(builder.GetSignature(), newStream, writer);
                    deltaJob.Run();

                    return(writer.ToString());
                }
        }
        public void Issue1Test()
        {
            using (var ms = new MemoryStream())
            {
                var emitter = new DeltaEmitter(ms);

                emitter.Header();
                emitter.Literal(new byte[0x1ffffff], 0, 0x1ffffff);
                emitter.Copy(0x1ffffff, 0x1ffffff);
                emitter.End();

                ms.Seek(0, SeekOrigin.Begin);

                var processor = new HumanReadableDeltaWriter();
                var readJob   = new DeltaReadJob(ms, processor);
                readJob.Run();

                // 33554431 == 0x1ffffff
                Assert.AreEqual(Multiline("LITERAL 33554431", "COPY 33554431 33554431"),
                                processor.ToString());
            }
        }