/**
* Copyright (c) 2009-2011, The HATS Consortium. All rights reserved.
* This file is licensed under the terms of the Modified BSD License.
*/
package abs.backend.maude;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import abs.backend.BackendTestDriver;
import abs.frontend.ast.Model;
public class MaudeTestDriver implements BackendTestDriver {
final MaudeTests maude;
public MaudeTestDriver(MaudeCompiler.SIMULATOR mode) {
maude = new MaudeTests(mode);
}
@Override
public String toString() {
return "Maude "+maude.mode;
}
@Override
public void assertEvalEquals(String absCode, boolean value) throws Exception {
if (value)
maude.assertTrueMaude(absCode);
else
maude.assertFalseMaude(absCode);
}
@Override
public void assertEvalFails(String absCode) throws Exception {
maude.assertFails(absCode);
}
@Override
public void assertEvalTrue(String absCode) throws Exception {
assertEvalEquals(absCode, true);
}
@Override
public void assertEvalTrue(Model model) throws Exception {
ByteArrayOutputStream out = new ByteArrayOutputStream();
model.generateMaude(new PrintStream(out), maude.mode, 100, 0);
String code = out.toString();
maude.assertMaudeCodeResult(code, "ABS.StdLib.True");
}
}