Advertisement
jdalbey

CollapseGUIGameTest

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