package org.teachingextensions.logo.utils;
import org.teachingextensions.approvals.lite.Approvals;
import org.teachingextensions.approvals.lite.namer.ApprovalResults;
import org.teachingextensions.approvals.lite.util.ObjectUtils;
import org.teachingextensions.logo.Turtle;
public class TortoiseUtils {
private static Turtle TURTLE = new Turtle();
/**
* Captures an image of the result of your program and displays it to you
*/
public static void verify() {
try {
Approvals.verify(TURTLE.getImage());
} catch (Exception e) {
throw ObjectUtils.throwAsError(e);
} finally {
TortoiseUtils.resetTurtle();
}
}
public static void resetTurtle() {
TURTLE = new Turtle();
}
public static void setOrientation(int x, int y, int angle) {
TURTLE.setX(x);
TURTLE.setY(y);
TURTLE.setAngleInDegrees(angle);
}
public static Turtle getTurtle() {
return TURTLE;
}
public static void setTurtle(Turtle turtle) {
TortoiseUtils.TURTLE = turtle;
}
public static void verifyForOs() {
ApprovalResults.UniqueForOs();
verify();
}
public static void writeMessage(String string, int x, int y) {
TURTLE.setX(x);
TURTLE.setY(y);
TURTLE.print(string);
}
}