package org.teachingkidsprogramming.recipes.quizzes.tests; import org.junit.Test; import org.teachingextensions.approvals.lite.reporters.DelayedClipboardReporter; import org.teachingextensions.approvals.lite.reporters.DiffReporter; import org.teachingextensions.approvals.lite.reporters.UseReporter; import org.teachingextensions.approvals.lite.util.JUnitUtils; import org.teachingextensions.logo.Turtle; import org.teachingextensions.logo.utils.TortoiseUtils; import org.teachingkidsprogramming.recipes.quizzes.graders.TreeQuizAdapter; import org.teachingkidsprogramming.recipes.quizzes.graders.TreeQuizGrader; @UseReporter({DelayedClipboardReporter.class, DiffReporter.class}) public class TreeQuizTest { @SuppressWarnings("unused") public static class TreeCorrectQuiz extends TreeQuizAdapter { // Sub question1 private void doubleLength() { // make the current length twice what it is length = length * 2; } // EndSub //Question2 // create a sub called DecreaseTurn which private void decreaseTurn() { turn = turn - 1; } // decrease the current turn by 1 //Question3 //create a sub called SetNinety which private void setNinety() { // sets the angle of the current turn to 90 angles.put(turn, 90); } //Question4 //create a sub called AngleFive which private void angleFive() { angles.put(5, 36); } // sets the 5th angle to 36 degrees } @Test public void testCorrect() throws Exception { JUnitUtils.assumeNotHeadless(); TreeQuizGrader.TURTLE_SPEED = Turtle.TEST_SPEED; new TreeQuizGrader().grade(new TreeCorrectQuiz()); TortoiseUtils.verifyForOs(); } @SuppressWarnings("unused") public static class TreeIncorrectQuiz extends TreeQuizAdapter { // Sub question1 private void doubleLength() { // make the current length twice what it is length = length + 2; } // EndSub //Question2 // create a sub called DecreaseTurn which private void decreaseTurn() { turn = turn + 1; } // decrease the current turn by 1 //Question3 //create a sub called SetNinety which private void setNinety() { // sets the angle of the current turn to 90 angles.put(turn, 30); } //Question4 //create a sub called AngleFive which private void angleFive() { angles.put(36, 5); } // sets the 5th angle to 36 degrees } @Test public void testIncorrect() throws Exception { JUnitUtils.assumeNotHeadless(); TreeQuizGrader.TURTLE_SPEED = Turtle.TEST_SPEED; new TreeQuizGrader().grade(new TreeIncorrectQuiz()); TortoiseUtils.verifyForOs(); } }