package org.reldb.rel.tests;
import static org.junit.Assert.*;
import java.io.*;
import org.reldb.rel.exceptions.*;
import org.reldb.rel.v0.generator.Generator;
import org.reldb.rel.v0.interpreter.*;
import org.reldb.rel.v0.languages.tutoriald.parser.ParseException;
import org.reldb.rel.v0.values.Value;
public class BaseOfTest {
protected static Instance getInstance() {
try {
return new Instance("./", true, System.out);
} catch (DatabaseFormatVersionException e) {
throw new ExceptionFatal("Database already exists and is in an older format.");
}
}
protected static Instance instance = getInstance();
protected static Interpreter interpreter = new Interpreter(instance.getDatabase(), System.out);
protected static Generator generator = interpreter.getGenerator();
protected static Evaluation testEvaluate(String s) {
try {
return interpreter.evaluate(s);
} catch (ParseException pe) {
throw new ExceptionSemantic("BaseOfTest: " + pe);
}
}
public static void assertValueEquals(Value v1, Value v2) {
assertEquals(v1.compareTo(v2), 0);
}
protected static void testEquals(String expected, String src) {
Evaluation v = testEvaluate(src);
PrintStream stringStream = new StringStream();
v.toStream(stringStream);
assertEquals(expected, stringStream.toString());
}
}