From b7b8103b8e7bebdfef37531bce8b9e54a6719853 Mon Sep 17 00:00:00 2001 From: heck Date: Wed, 10 Mar 2021 00:40:30 +0100 Subject: [PATCH] AdapterTestUtils: diff now returns new obj DiffResult --- .../test/utils/AdapterTestUtils.java | 25 ++++++---- .../pEp/jniadapter/test/utils/DiffResult.java | 46 +++++++++++++++++++ 2 files changed, 61 insertions(+), 10 deletions(-) create mode 100644 test/java/foundation/pEp/jniadapter/test/utils/DiffResult.java diff --git a/test/java/foundation/pEp/jniadapter/test/utils/AdapterTestUtils.java b/test/java/foundation/pEp/jniadapter/test/utils/AdapterTestUtils.java index a63cd1e..e377c8b 100644 --- a/test/java/foundation/pEp/jniadapter/test/utils/AdapterTestUtils.java +++ b/test/java/foundation/pEp/jniadapter/test/utils/AdapterTestUtils.java @@ -343,26 +343,31 @@ public class AdapterTestUtils { return msg; } - public static String diff(byte[] left, byte[] right, boolean verbose) { - String ret = ""; + + + public static DiffResult diff(byte[] left, byte[] right) { + DiffResult ret = new DiffResult(); String diffString = ""; int diffCount = 0; + int firstDiff = 0; + boolean firstDiffHappened = false; for (int i = 0; i < left.length; i++) { byte bLeft = left[i]; byte bRight = right[i]; String diffIndicator = ""; if (bLeft != bRight) { + if(!firstDiffHappened) { + firstDiff = i; + firstDiffHappened = true; + } diffCount++; diffString += "Byte[" + i + "]:\t\t " + bLeft + "\t" + bRight + "\t" + "\n"; } } - if (verbose) { - ret = diffString + "\n"; - ret += Integer.toString(diffCount) + "\t Different bytes"; - } else { - ret = Integer.toString(diffCount); - } - + ret.setDiff(diffString); + ret.setCount(diffCount); + ret.setFirstDiffByte(firstDiff); return ret; } -} \ No newline at end of file +} + diff --git a/test/java/foundation/pEp/jniadapter/test/utils/DiffResult.java b/test/java/foundation/pEp/jniadapter/test/utils/DiffResult.java new file mode 100644 index 0000000..07f8f7e --- /dev/null +++ b/test/java/foundation/pEp/jniadapter/test/utils/DiffResult.java @@ -0,0 +1,46 @@ +package foundation.pEp.jniadapter.test.utils; + +public class DiffResult { + private String diff = ""; + private int count = 0; + private int firstDiffByte = 0; + + DiffResult() { + } + + + public String getDiff() { + return diff; + } + + public void setDiff(String diff) { + this.diff = diff; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + public int getFirstDiffByte() { + return firstDiffByte; + } + + public void setFirstDiffByte(int firstDiffByte) { + this.firstDiffByte = firstDiffByte; + } + + public String toString() { + String ret = ""; + ret += "Nr bytes differ\t: " + getCount() + "\n"; + ret += "first byte\t: " + getFirstDiffByte() + "\n"; + ret += "diff:\n"; + ret += getDiff(); + ret += "\n"; + + return ret; + } +}