package lab.games; import static org.junit.Assert.*; import java.io.FileNotFoundException; import java.io.PrintWriter; import org.junit.Test; public class ASCIImationTest { private void test(String fileName, String letters) { try { PrintWriter writer = new PrintWriter(fileName); for (int i = 0; i < letters.length(); i++) { writer.println("\n\n" + letters.charAt(i) + "\n\n\n"); } writer.close(); } catch (FileNotFoundException e) { System.out.println("Something went wrong with running this test."); System.out.println("Please contact your instructor."); } try { ASCIImation example = new ASCIImation(fileName); assertEquals("Constructor or getNumberOfFrames is incorrect.", letters.length(), example.getNumberOfFrames()); for (int i = 0; i < letters.length(); i++) { assertEquals("get is incorrect.", "\n\n" + letters.charAt(i) + "\n\n\n", example.getFrame(i).toString()); } example.reverse(); assertEquals("reverse is incorrect.", letters.length(), example.getNumberOfFrames()); for (int i = letters.length() - 1; i >= 0; i--) { assertEquals("get is incorrect.", "\n\n" + letters.charAt(letters.length() - i - 1) + "\n\n\n", example.getFrame(i).toString()); } } catch (FileNotFoundException e) { fail("Constructor threw an exception"); } } @Test public void test() { test("example1.txt", "a"); test("example2.txt", "ab"); test("example3.txt", "abc"); test("example4.txt", "abcd"); test("example5.txt", "abcde"); test("example6.txt", "abcdef"); } @Test public void testException() { try { ASCIImation example = new ASCIImation("example7.txt"); fail("Constructor did not throw a FileNotFoundException"); } catch (FileNotFoundException e) {} } }