diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/MyersDiffPerformanceTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffPerformanceTest.java similarity index 97% rename from org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/MyersDiffPerformanceTest.java rename to org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffPerformanceTest.java index a3f9c22e3..17c586f1e 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/MyersDiffPerformanceTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffPerformanceTest.java @@ -62,7 +62,7 @@ * diffs between chunks of different length, measure the needed time and check * that time/(N*D) does not differ more than a certain factor. */ -public class MyersDiffPerformanceTest extends TestCase { +public class DiffPerformanceTest extends TestCase { private static final long longTaskBoundary = 5000000000L; private static final int minCPUTimerTicks = 10; @@ -186,7 +186,7 @@ private PerfData test(int characters) { return ret; } - private static class CharArray extends Sequence { + static class CharArray extends Sequence { final char[] array; public CharArray(String s) { @@ -199,7 +199,7 @@ public int size() { } } - private static class CharCmp extends SequenceComparator { + static class CharCmp extends SequenceComparator { @Override public boolean equals(CharArray a, int ai, CharArray b, int bi) { return a.array[ai] == b.array[bi]; diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/MyersDiffTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/MyersDiffTest.java index 4df2c5a40..896b0fbcc 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/MyersDiffTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/MyersDiffTest.java @@ -43,9 +43,21 @@ package org.eclipse.jgit.diff; +import org.eclipse.jgit.diff.DiffPerformanceTest.CharArray; +import org.eclipse.jgit.diff.DiffPerformanceTest.CharCmp; + public class MyersDiffTest extends AbstractDiffTestCase { @Override protected DiffAlgorithm algorithm() { return MyersDiff.INSTANCE; } + + public void testPerformanceTestDeltaLength() { + String a = DiffTestDataGenerator.generateSequence(40000, 971, 3); + String b = DiffTestDataGenerator.generateSequence(40000, 1621, 5); + CharArray ac = new CharArray(a); + CharArray bc = new CharArray(b); + EditList r = algorithm().diff(new CharCmp(), ac, bc); + assertEquals(131, r.size()); + } } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatienceDiffTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatienceDiffTest.java index 67a4904c6..de88c2f87 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatienceDiffTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatienceDiffTest.java @@ -43,6 +43,9 @@ package org.eclipse.jgit.diff; +import org.eclipse.jgit.diff.DiffPerformanceTest.CharArray; +import org.eclipse.jgit.diff.DiffPerformanceTest.CharCmp; + public class PatienceDiffTest extends AbstractDiffTestCase { @Override protected DiffAlgorithm algorithm() { @@ -71,29 +74,4 @@ public void testPerformanceTestDeltaLength() { EditList r = algorithm().diff(new CharCmp(), ac, bc); assertEquals(25, r.size()); } - - private static class CharArray extends Sequence { - final char[] array; - - public CharArray(String s) { - array = s.toCharArray(); - } - - @Override - public int size() { - return array.length; - } - } - - private static class CharCmp extends SequenceComparator { - @Override - public boolean equals(CharArray a, int ai, CharArray b, int bi) { - return a.array[ai] == b.array[bi]; - } - - @Override - public int hash(CharArray seq, int ptr) { - return seq.array[ptr]; - } - } }