public void Diff_RandomDataAndKnownDifferencesCount_DifferencesCountEqualsToKnown() { // arrange var testCasesCount = 3; var testCasesInputs = new GenerateBinaryDataResult[testCasesCount]; var testCasesResults = new BinaryDataDiffAnalyzerResult[testCasesCount]; var binaryDataDiffAnalyzer = new BinaryDataDiffAnalyzer(); // action for (var i = 0; i < testCasesCount; i++) { var dataSize = _random.Next(10, 10000); var leftSideData = new byte[dataSize]; testCasesInputs[i] = GenerateBinaryData(dataSize); _logger.Debug(String.Format("Tast case #{0}", i)); _logger.Debug(String.Format("Generated {0}", ByteArrayAsString(testCasesInputs[i].Data))); _logger.Debug(String.Format("NonZeroGroupsCount: {0}", testCasesInputs[i].NonZeroGroupsCount)); testCasesResults[i] = binaryDataDiffAnalyzer.Diff(leftSideData, testCasesInputs[i].Data); } // assert for (var i = 0; i < testCasesResults.Length; i++) { Assert.AreEqual(testCasesInputs[i].NonZeroGroupsCount, testCasesResults[i].Diffs.Length); } }
public void Diff_SameSizeAndDifferentContent_ContentDoNotMatch() { //arrange var leftSideData = new byte[] { 0, 0, 0, 0 }; var rightSideData = new byte[] { 1, 0, 1, 1 }; var binaryDataDiffAnalyzer = new BinaryDataDiffAnalyzer(); //action var result = binaryDataDiffAnalyzer.Diff(leftSideData, rightSideData); //assert Assert.AreEqual(DiffResultType.ContentDoNotMatch, result.DiffResultType); }
public void Diff_SameSizeAndTotallyDifferentContent_FoundOneDifference() { // arrange var leftSideData = new byte[] { 0, 0, 0, 0 }; var rightSideData = new byte[] { 1, 1, 1, 1 }; var binaryDataDiffAnalyzer = new BinaryDataDiffAnalyzer(); // action var result = binaryDataDiffAnalyzer.Diff(leftSideData, rightSideData); // assert Assert.AreEqual(1, result.Diffs.Length); }
public void Diff_SameSizeAndContent_Equals() { //arrange var leftSideData = new byte[] { 0, 0, 0, 0 }; var rightSideData = new byte[] { 0, 0, 0, 0 }; var binaryDataDiffAnalyzer = new BinaryDataDiffAnalyzer(); //action var result = binaryDataDiffAnalyzer.Diff(leftSideData, rightSideData); //assert Assert.AreEqual(DiffResultType.Equals, result.DiffResultType); }
public void Diff_SameDataAndTwoDifferences_ExpectedDiffOffsetAndLength() { // arrange var leftSideData = new byte[] { 0, 0, 0, 0 }; var rightSideData = new byte[] { 1, 0, 1, 1 }; var binaryDataDiffAnalyzer = new BinaryDataDiffAnalyzer(); // action var result = binaryDataDiffAnalyzer.Diff(leftSideData, rightSideData); // assert Assert.AreEqual(0, result.Diffs[0].Offset); Assert.AreEqual(1, result.Diffs[0].Length); Assert.AreEqual(2, result.Diffs[1].Offset); Assert.AreEqual(2, result.Diffs[1].Length); }