public static string PerformCompress(string oldfile, string newfile, string destfile, bool IgnoreSizeLimit) { try { if (IgnoreSizeLimit) { var dest = destfile.Replace("[]", Path.GetFileNameWithoutExtension(newfile)); var compression = new MsDeltaCompression(); compression.CreateDelta(oldfile, newfile, dest); return(dest); } else { var dest = destfile.Replace("[]", Path.GetFileNameWithoutExtension(newfile)); var compression = new PatchApiCompression(); compression.CreateDelta(oldfile, newfile, dest); return(dest); } } catch (Win32Exception ex) { Tools.TrueOrDie(false, "Error when creating delta. Native error code " + ex.NativeErrorCode); return(""); } }
public void CreateAndApplyDelta() { var compression = new PatchApiCompression(); compression.CreateDelta(_privateNotepadPath, _privateCalcPath, _privateDeltaPath); compression.ApplyDelta(_privateDeltaPath, _privateNotepadPath, _privateFinalPath); var finalHash = HashFile(_privateFinalPath); CollectionAssert.AreEqual(_calcHash, finalHash); }