jdalbey

CollapseGUITest

Feb 2nd, 2014
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.55 KB | None | 0 0
  1.  
  2. import java.awt.*;
  3. import java.io.*;
  4. import java.util.Scanner;
  5. /**
  6.  * Have PlaybackRobot run CollapseGUI then check the high scores list.
  7.  * Assumes board size 8 is set in preferences.ini.
  8.  *
  9.  * @author  jdalbey
  10.  * @version 2014.2.2
  11.  */
  12. public class CollapseGUITest extends junit.framework.TestCase
  13. {
  14.     private CollapseGUI gui;
  15.     /**
  16.      * Default constructor for test class CollapseGUITest
  17.      */
  18.     public CollapseGUITest()
  19.     {
  20.         // Start the application
  21.         gui = new CollapseGUI();
  22.         gui.run();
  23.     }
  24.     /**
  25.      * Sets up the test fixture.
  26.      *
  27.      * Called before every test case method.
  28.      */
  29.     protected void setUp()    
  30.     {
  31.         // Delete any hall of fame file before each test.
  32.         try{
  33.             File file = new File("collapse/halloffame.ser");
  34.             if (file.delete())
  35.             {
  36.                 System.out.println("halloffame.ser deleted");
  37.             }
  38.         }catch(Exception e){
  39.             e.printStackTrace();
  40.         }        
  41.     }
  42.     /* Private method that runs the robot */
  43.     private void runTest(String input, String expected, String errMsg)
  44.     {
  45.         //System.out.println("Test for : " + errMsg);
  46.         Scanner scan = new Scanner(new StringReader(input));
  47.         PlaybackRobot robot = new PlaybackRobot(scan);
  48.         // robot.setLogging(true);
  49.         robot.runScript();
  50.         String scores = gui.getHighScores();
  51.         // System.out.println(scores);
  52.         // remove blanks and newlines for comparision
  53.         scores = scores.replaceAll(" ","").replaceAll("\\n","");
  54.         assertEquals(errMsg, expected, scores);
  55.     }
  56.  
  57.     public void testGUIrestart()
  58.     {
  59.         String script = "press_key alt\n type_key r\n release_key alt\n  wait 100\n";
  60.         String expected = "";
  61.         String errMsg = "Failed launching and restarting";
  62.         runTest(script, expected, errMsg);
  63.         expected = "1Snoopy";
  64.         errMsg = "Failed cheating";
  65.         runTest(cheatwin, expected, errMsg);
  66.         expected = "1Snoopy12Linus";
  67.         errMsg = "Failed winning board 50";
  68.         runTest(winBoard50, expected, errMsg);
  69.         expected = "1Snoopy10Lucy12Linus";
  70.         errMsg = "Failed winning board 2";
  71.         runTest(goHome + startBoard2+winBoard2, expected, errMsg);
  72.         expected = "1Snoopy10Lucy10Lucy11Snoopy12Linus";
  73.         errMsg = "Failed winning board 2 after new game";
  74.         runTest(goHome+newGame+winBoard2+goHome + cheatwin+showHall+quitGame, expected, errMsg);
  75.     }
  76.    
  77.     String newGame =
  78.           " press_key alt\n type_key g\n release_key alt\n  wait 200\n"         // Select Game 5000
  79.         + " type_string 5000\n type_key enter\n  wait 200\n"
  80.         +  " press_key alt\n type_key n\n release_key alt\n  wait 200\n"         // New game: 1
  81.         +  " press_key alt\n type_key n\n release_key alt\n  wait 200\n";         // New game: 2
  82.        
  83.     String startBoard2 =
  84.           " press_key alt\n type_key g\n release_key alt\n  wait 200\n"         // Select Game 50
  85.         + " type_string 2\n type_key enter\n  wait 200\n";
  86.        
  87.     String winBoard2 =        
  88.           " press_key alt\n type_key r\n release_key alt\n  wait 100\n" // restart        
  89.         + " type_key right\n type_key right\n type_key right\n type_key right\n"                       //  move to H4
  90.         + " type_key down\n type_key down\n type_key down\n type_key down\n type_key down\n type_key down\n type_key down\n"
  91.         + " type_key space\n type_key space\n type_key space\n type_key space\n type_key space\n type_key space\n type_key space\n"
  92.         + " type_key left\n type_key space\n type_key space\n type_key space\n wait 200\n"
  93.         + " type_key y \n type_key enter\n wait 250\n"
  94.         + " type_string Lucy\n type_key enter\n  wait 500\n";
  95.  
  96.     String goHome =
  97.          " type_key left\n type_key left\n type_key left\n type_key left\n "        // return cursor to upper left
  98.         + " type_key up\n type_key up\n type_key up\n type_key up\n type_key up\n type_key up\n type_key up\n"
  99.         + " wait 100 \n";
  100.        
  101.     String winBoard50 =
  102.             " type_key left\n type_key left\n "
  103.         +  " press_key alt\n type_key g\n release_key alt\n  wait 200\n"         // Select Game 50
  104.         + " type_string 50\n type_key enter\n  wait 250\n"                      //
  105.         + " type_key right\n type_key right\n type_key right\n "                       //  tab to H4
  106.         + " type_key down\n type_key down\n type_key down\n type_key down\n type_key down\n type_key down\n type_key down\n"
  107.         + " type_key space\n  type_key tab\n"                                   // click H4, then H5 11 times
  108.         + " type_key space\n type_key space\n type_key space\n type_key space\n type_key space\n type_key space\n type_key space\n"
  109.         + " type_key space\n type_key space\n type_key space\n type_key space\n  wait 250 \n "
  110.         + " type_key y \n type_key enter\n  wait 250\n"
  111.         + " type_string Linus\n wait 200 \n type_key enter\n  wait 500\n";
  112.        
  113.     String showHall =
  114.            // Show hall of fame dialog for three seconds
  115.           " press_key alt\n type_key s\n release_key alt\n  wait 3000\n type_key space\n  wait 100\n";
  116.  
  117.     String cheatwin = " press_key alt\n type_key c\n release_key alt\n"
  118.         + "type_key tab\n type_key space\n wait 250\n"
  119.         + " type_key y \n wait 500\n type_key enter\n wait 500\n"
  120.         + " type_string Snoopy\n type_key enter\n  wait 500\n";
  121.        
  122.     String quitGame = " press_key alt\n type_key q\n release_key alt\n  wait 100\n";
  123.  
  124. }
Advertisement
Add Comment
Please, Sign In to add comment