public string JsonPatchesWorks(string leftString, string rightString) { var left = JToken.Parse(leftString); var right = JToken.Parse(rightString); var patchDoc = new JsonDiffer().Diff(left, right); var patcher = new JsonPatcher(); patcher.Patch(ref left, patchDoc); Assert.True(JToken.DeepEquals(left, right)); //var patchedLeft = left.ToString(Formatting.None); //var expected = right.ToString(Formatting.None); //Assert.AreEqual(expected, patchedLeft); var patchJson = patchDoc.ToString(Formatting.None); return patchJson; }
private static string GenPatch(string leftFile, string rightFile, string relPath) { var left = JToken.Parse(File.ReadAllText(leftFile)); var right = JToken.Parse(File.ReadAllText(rightFile)); var patchDoc = new JsonDiffer().Diff(left, right, false); // Cheap way of doing it but meh var patchToken = JToken.Parse(patchDoc.ToString()); foreach (var val in (patchToken as JArray)) { val["file"] = relPath.Replace("\\", "/"); } return(patchToken.ToString()); }
public string JsonPatchesWorks(string leftString, string rightString) { var left = JToken.Parse(leftString); var right = JToken.Parse(rightString); var patchDoc = new JsonDiffer().Diff(left, right, false); var patcher = new JsonPatcher(); patcher.Patch(ref left, patchDoc); Assert.True(JToken.DeepEquals(left, right)); //Assert.AreEqual(expected, patchedLeft); var patchJson = patchDoc.ToString(Formatting.None); return(patchJson); }