blob: c10ce212e9c1adae5a45fc7ecf50f584dfaf321a [file] [log] [blame]
package com.intellij.vcs.log.compressedlist;
import com.intellij.vcs.log.compressedlist.generator.Generator;
import static junit.framework.Assert.assertEquals;
/**
* @author erokhins
*/
public class RunCompressedListTest<T> {
private final CompressedList<T> compressedList;
private final Generator<T> generator;
public RunCompressedListTest(CompressedList<T> compressedList, Generator<T> generator) {
this.compressedList = compressedList;
this.generator = generator;
}
private String CompressedListStr() {
StringBuilder s = new StringBuilder();
for (int i = 0; i < compressedList.getList().size(); i++) {
T listElement = compressedList.getList().get(i);
s.append(listElement).append(" ");
}
return s.toString();
}
private String ActualListStr() {
StringBuilder s = new StringBuilder();
T t = generator.generateFirst();
s.append(t).append(" ");
for (int i = 1; i < compressedList.getList().size(); i++) {
t = generator.generate(t, 1);
s.append(t).append(" ");
}
return s.toString();
}
public void assertList() {
assertList("");
}
public void assertList(String message) {
assertEquals(message, ActualListStr(), CompressedListStr());
}
public void runReplace(UpdateRequest updateRequest) {
compressedList.recalculate(updateRequest);
assertList(replaceToStr(updateRequest));
}
public String replaceToStr(UpdateRequest updateRequest) {
return "UpdateRequest: from: " +
updateRequest.from() +
", to: " +
updateRequest.to() +
", addedElementCounts: " +
updateRequest.addedElementCount();
}
}