package hu.sztaki.ilab.longneck.util;
import java.util.Map;
import hu.sztaki.ilab.longneck.Field;
import hu.sztaki.ilab.longneck.Record;
/**
*
* @author Geszler Döme <gdome@ilab.sztaki.hu>
*/
public class TestUtil {
// observed Record fits expected one, if observed contains all fields of
// expected with same values
public static boolean fit(Record expected, Record observed) {
Map<String, Field> expectedFields = expected.getFields();
Map<String, Field> observedFields = observed.getFields();
for (String name : expectedFields.keySet()) {
if (!observedFields.containsKey(name)) {
return false;
} else {
String expectedValue = expectedFields.get(name).getValue();
String observedValue = observedFields.get(name).getValue();
if (!(equal(expectedValue, observedValue)))
return false;
}
}
return true;
}
private static boolean equal(Object o1, Object o2) {
if (o1 == null && o2 == null)
return true;
if (o1 == null || o2 == null)
return false;
return o1.equals(o2);
}
}