blob: e9ef6228f155b85eccc2b7aeef380c72b610da88 [file] [log] [blame]
package com.intellij.openapi.diff.impl;
import junit.framework.Assert;
import junit.framework.AssertionFailedError;
import java.util.ArrayList;
public class MultiCheck {
private final ArrayList<FailedCondition> myFailedConditions = new ArrayList<FailedCondition> ();
public void assertEquals(int expected, int actual) {
if (expected != actual)
myFailedConditions.add(new BooleanCondition(expected + "==" + actual));
}
public void flush() {
if (myFailedConditions.size() == 0) return;
for (FailedCondition condition: myFailedConditions) {
try {
condition.fail();
}
catch (AssertionFailedError e) {
e.printStackTrace(System.err);
}
}
Assert.fail();
}
public void assertNull(Object object) {
if (object != null) myFailedConditions.add(new BooleanCondition("Expected null: " + object));
}
private static abstract class FailedCondition {
abstract void fail();
}
private static class BooleanCondition extends FailedCondition {
private final AssertionFailedError myFailure;
public BooleanCondition(String message) {
myFailure = new AssertionFailedError(message);
}
@Override
public void fail() {
throw myFailure;
}
}
}