diff: update test data

This commit is contained in:
Aleksey Pivovarov
2017-04-11 11:58:19 +03:00
committed by Aleksey Pivovarov
parent 09c2af0f98
commit c3d3de886d
7 changed files with 108 additions and 31 deletions
@@ -115,6 +115,18 @@ abstract class DiffTestCase : TestCase() {
}
}
fun assertSetsEquals(expected: BitSet, actual: BitSet, message: String = "") {
val sb = StringBuilder(message)
sb.append(": \"")
for (i in 0..actual.length()) {
sb.append(if (actual[i]) '-' else ' ')
}
sb.append('"')
val fullMessage = sb.toString()
assertEquals(expected, actual, fullMessage)
}
//
// Parsing
//
@@ -210,7 +222,7 @@ abstract class DiffTestCase : TestCase() {
}
}
class DebugData() {
class DebugData {
private val data: MutableList<Pair<String, Any>> = ArrayList()
fun put(key: String, value: Any) {
@@ -73,12 +73,12 @@ abstract class ComparisonMergeUtilTestBase : DiffTestCase() {
val sets = Trio(BitSet(), BitSet(), BitSet())
for (change in changes) {
sets.forEach({ set: BitSet, side: ThreeSide -> set.set(change.start(side), change.end(side)) })
sets.forEach { set: BitSet, side: ThreeSide -> set.set(change.start(side), change.end(side)) }
}
assertEquals(matchings.data1, sets.data1)
assertEquals(matchings.data2, sets.data2)
assertEquals(matchings.data3, sets.data3)
assertSetsEquals(matchings.data1, sets.data1, "Left")
assertSetsEquals(matchings.data2, sets.data2, "Base")
assertSetsEquals(matchings.data3, sets.data3, "Right")
}
private fun convertDiffFragments(fragments: List<MergeRange>): List<Change> {
@@ -198,8 +198,8 @@ class ComparisonUtilAutoTest : DiffTestCase() {
for (fragment in fragments) {
if (fragment.innerFragments != null) {
val sequence1 = text1.subsequence(fragment.startOffset1, fragment.endOffset1)
val sequence2 = text2.subsequence(fragment.startOffset2, fragment.endOffset2)
val sequence1 = text1.subSequence(fragment.startOffset1, fragment.endOffset1)
val sequence2 = text2.subSequence(fragment.startOffset2, fragment.endOffset2)
checkResultWord(sequence1, sequence2, fragment.innerFragments!!, policy)
}
@@ -538,7 +538,7 @@ class ComparisonUtilAutoTest : DiffTestCase() {
return Couple.of(firstLine, lastLine)
}
private fun Document.subsequence(start: Int, end: Int): CharSequence {
private fun Document.subSequence(start: Int, end: Int): CharSequence {
return this.charsSequence.subSequence(start, end)
}
@@ -173,8 +173,8 @@ abstract class ComparisonUtilTestBase : DiffTestCase() {
set2.set(fragment.startLine2, fragment.endLine2)
}
assertEquals(matchings.first, set1, "Before")
assertEquals(matchings.second, set2, "After")
assertSetsEquals(matchings.first, set1, "Before")
assertSetsEquals(matchings.second, set2, "After")
}
private fun checkDiffMatching(fragments: List<DiffFragment>, matchings: Couple<BitSet>) {
@@ -185,8 +185,8 @@ abstract class ComparisonUtilTestBase : DiffTestCase() {
set2.set(fragment.startOffset2, fragment.endOffset2)
}
assertEquals(matchings.first, set1, "Before")
assertEquals(matchings.second, set2, "After")
assertSetsEquals(matchings.first, set1, "Before")
assertSetsEquals(matchings.second, set2, "After")
}
private fun checkMergeMatching(fragments: List<MergeWordFragment>, matchings: Trio<BitSet>) {
@@ -199,9 +199,9 @@ abstract class ComparisonUtilTestBase : DiffTestCase() {
set3.set(fragment.getStartOffset(ThreeSide.RIGHT), fragment.getEndOffset(ThreeSide.RIGHT))
}
assertEquals(matchings.data1, set1, "Before")
assertEquals(matchings.data2, set2, "Base")
assertEquals(matchings.data3, set3, "After")
assertSetsEquals(matchings.data1, set1, "Left")
assertSetsEquals(matchings.data2, set2, "Base")
assertSetsEquals(matchings.data3, set3, "Right")
}
private fun convertDiffFragments(fragments: List<DiffFragment>): List<Couple<IntPair>> {
@@ -401,28 +401,17 @@ class IgnoreComparisonUtilTest : DiffTestCase() {
.run()
}
private inner class Test(input1: String, input2: String,
private inner class Test(val input1: String, val input2: String,
ignored1: String, ignored2: String,
result1: String, result2: String) {
private val input1: String
private val input2: String
private val ignored1: String
private val ignored2: String
private val result1: String
private val result2: String
val ignored1: String = ignored1.filterNot { it == '.' }
val ignored2: String = ignored2.filterNot { it == '.' }
val result1: String = result1.filterNot { it == '.' }
val result2: String = result2.filterNot { it == '.' }
private var inner = true
private var changedLines: IntPair? = null
init {
this.input1 = input1
this.input2 = input2
this.ignored1 = ignored1.filterNot { it == '.' }
this.ignored2 = ignored2.filterNot { it == '.' }
this.result1 = result1.filterNot { it == '.' }
this.result2 = result2.filterNot { it == '.' }
}
fun noInnerChanges(): Test {
inner = false
return this
@@ -74,6 +74,23 @@ class SplitComparisonUtilTest : ComparisonUtilTestBase() {
default(del(0, 0, 1), mod(1, 0, 1, 1), del(2, 1, 1))
testAll()
}
splitter(trim = false) {
("< i" - "<i<_i")
default(mod(0, 0, 1, 2))
testDefault()
}
splitter(trim = false) {
(".l j" - "U_._l j+")
default(ins(0, 0, 2), mod(0, 2, 1, 1))
testDefault()
}
splitter {
(" run();" - " //commentary_ while(run(true));")
default(mod(0, 0, 1, 2))
testDefault()
}
}
fun testSquash() {
@@ -140,6 +140,27 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
(" " - " - ").default()
testAll()
}
lines_inner {
("X Y ) {_ A B C" - "X Y Z ) {_ y B C ) {")
(" - " - " -- - ----").default()
(" - " - " - - ---").ignore()
testAll()
}
// TODO
words {
("@Deprecated @NotNull" - "@NotNull")
(" ------------ " - " ").default()
testAll()
}
// TODO
words {
("@Deprecated_ @NotNull" - "@NotNull")
(" ------------- " - " ").default()
testAll()
}
}
fun testOldDiffBug() {
@@ -154,6 +175,18 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
(" " - " -- ").default()
testAll()
}
lines_inner {
("x'>" - "x'y'>")
(" " - " -- ").default()
testAll()
}
lines_inner {
("x'y'>" - "x'>")
(" -- " - " ").default()
testAll()
}
}
fun testWhitespaceOnlyChanges() {
@@ -219,6 +252,12 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
("- -" - "- -").ignore()
testIgnore()
}
words {
("A_B_" - "X_")
("--- " - "- ").default()
testAll()
}
}
fun testFixedBugs() {
@@ -336,6 +375,26 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
(" ---" - "--- ").default()
testDefault()
}
lines_inner {
("A B_C D" - "A_B C_D")
(" -- - " - " -- - ").default()
(" -- - " - " -- ").trim()
(" - " - " - ").ignore()
testAll()
}
lines_inner {
("B_C_D_" - "X_Y_Z_")
("- - - " - "- - - ").default()
testAll()
}
words {
("!x_!_z" - "!_!_y z")
(" - " - " -- ").default()
testDefault()
}
}
fun `test trailing punctuation`() {