JeffGrigg

IDE One Streaming Test

Mar 23rd, 2018
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 10.29 KB | None | 0 0
  1. import junit.framework.TestCase;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.PrintStream;
  5.  
  6. public class CrossingStarsTest extends TestCase {
  7.  
  8.     public void test0() {
  9.         assertOutputEquals(new String[] {
  10.                 }, 0);
  11.     }
  12.  
  13.     public void test1() {
  14.         assertOutputEquals(new String[] {
  15.                         " *",
  16.                         "**",
  17.                         " *",
  18.                 }, 1);
  19.     }
  20.  
  21.     public void test2() {
  22.         assertOutputEquals(new String[] {
  23.                         "    *",
  24.                         " *  *",
  25.                         "*****",
  26.                         " *  *",
  27.                         "    *",
  28.                 }, 2);
  29.     }
  30.  
  31.     public void test3() {
  32.         assertOutputEquals(new String[] {
  33.                         "        *",
  34.                         "    *   *",
  35.                         " *  *   *",
  36.                         "*********",
  37.                         " *  *   *",
  38.                         "    *   *",
  39.                         "        *",
  40.                 }, 3);
  41.     }
  42.  
  43.     public void test4() {
  44.         assertOutputEquals(new String[] {
  45.                         "             *",
  46.                         "        *    *",
  47.                         "    *   *    *",
  48.                         " *  *   *    *",
  49.                         "**************",
  50.                         " *  *   *    *",
  51.                         "    *   *    *",
  52.                         "        *    *",
  53.                         "             *",
  54.                 }, 4);
  55.     }
  56.  
  57.     public void test5() {
  58.         assertOutputEquals(new String[] {
  59.                         "                   *",
  60.                         "             *     *",
  61.                         "        *    *     *",
  62.                         "    *   *    *     *",
  63.                         " *  *   *    *     *",
  64.                         "********************",
  65.                         " *  *   *    *     *",
  66.                         "    *   *    *     *",
  67.                         "        *    *     *",
  68.                         "             *     *",
  69.                         "                   *",
  70.                 }, 5);
  71.     }
  72.  
  73.     public void test6() {
  74.         assertOutputEquals(new String[] {
  75.                         "                          *",
  76.                         "                   *      *",
  77.                         "             *     *      *",
  78.                         "        *    *     *      *",
  79.                         "    *   *    *     *      *",
  80.                         " *  *   *    *     *      *",
  81.                         "***************************",
  82.                         " *  *   *    *     *      *",
  83.                         "    *   *    *     *      *",
  84.                         "        *    *     *      *",
  85.                         "             *     *      *",
  86.                         "                   *      *",
  87.                         "                          *",
  88.                 }, 6);
  89.     }
  90.  
  91.     public void test7() {
  92.         assertOutputEquals(new String[] {
  93.                         "                                  *",
  94.                         "                          *       *",
  95.                         "                   *      *       *",
  96.                         "             *     *      *       *",
  97.                         "        *    *     *      *       *",
  98.                         "    *   *    *     *      *       *",
  99.                         " *  *   *    *     *      *       *",
  100.                         "***********************************",
  101.                         " *  *   *    *     *      *       *",
  102.                         "    *   *    *     *      *       *",
  103.                         "        *    *     *      *       *",
  104.                         "             *     *      *       *",
  105.                         "                   *      *       *",
  106.                         "                          *       *",
  107.                         "                                  *",
  108.                 }, 7);
  109.     }
  110.  
  111.     public void test8() {
  112.         assertOutputEquals(new String[] {
  113.                         "                                           *",
  114.                         "                                  *        *",
  115.                         "                          *       *        *",
  116.                         "                   *      *       *        *",
  117.                         "             *     *      *       *        *",
  118.                         "        *    *     *      *       *        *",
  119.                         "    *   *    *     *      *       *        *",
  120.                         " *  *   *    *     *      *       *        *",
  121.                         "********************************************",
  122.                         " *  *   *    *     *      *       *        *",
  123.                         "    *   *    *     *      *       *        *",
  124.                         "        *    *     *      *       *        *",
  125.                         "             *     *      *       *        *",
  126.                         "                   *      *       *        *",
  127.                         "                          *       *        *",
  128.                         "                                  *        *",
  129.                         "                                           *",
  130.                 }, 8);
  131.     }
  132.  
  133.     public void test9() {
  134.         assertOutputEquals(new String[] {
  135.                         "                                                     *",
  136.                         "                                           *         *",
  137.                         "                                  *        *         *",
  138.                         "                          *       *        *         *",
  139.                         "                   *      *       *        *         *",
  140.                         "             *     *      *       *        *         *",
  141.                         "        *    *     *      *       *        *         *",
  142.                         "    *   *    *     *      *       *        *         *",
  143.                         " *  *   *    *     *      *       *        *         *",
  144.                         "******************************************************",
  145.                         " *  *   *    *     *      *       *        *         *",
  146.                         "    *   *    *     *      *       *        *         *",
  147.                         "        *    *     *      *       *        *         *",
  148.                         "             *     *      *       *        *         *",
  149.                         "                   *      *       *        *         *",
  150.                         "                          *       *        *         *",
  151.                         "                                  *        *         *",
  152.                         "                                           *         *",
  153.                         "                                                     *",
  154.                 }, 9);
  155.     }
  156.  
  157.     public void test10() {
  158.         assertOutputEquals(new String[] {
  159.                         "                                                                *",
  160.                         "                                                     *          *",
  161.                         "                                           *         *          *",
  162.                         "                                  *        *         *          *",
  163.                         "                          *       *        *         *          *",
  164.                         "                   *      *       *        *         *          *",
  165.                         "             *     *      *       *        *         *          *",
  166.                         "        *    *     *      *       *        *         *          *",
  167.                         "    *   *    *     *      *       *        *         *          *",
  168.                         " *  *   *    *     *      *       *        *         *          *",
  169.                         "*****************************************************************",
  170.                         " *  *   *    *     *      *       *        *         *          *",
  171.                         "    *   *    *     *      *       *        *         *          *",
  172.                         "        *    *     *      *       *        *         *          *",
  173.                         "             *     *      *       *        *         *          *",
  174.                         "                   *      *       *        *         *          *",
  175.                         "                          *       *        *         *          *",
  176.                         "                                  *        *         *          *",
  177.                         "                                           *         *          *",
  178.                         "                                                     *          *",
  179.                         "                                                                *",
  180.                 }, 10);
  181.     }
  182.  
  183.     private static void assertOutputEquals(final String[] expectedOutputLines, final int n) {
  184.         final PrintStream oldSystemOut = System.out;
  185.         final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  186.         final PrintStream printStream = new PrintStream(byteArrayOutputStream);
  187.         System.setOut(printStream);
  188.         try {
  189.             Ideone.printStars(n);
  190.         } finally {
  191.             System.setOut(oldSystemOut);
  192.             printStream.close();
  193.         }
  194.  
  195.         final String expectedOutput = buildExpectedOutputString(expectedOutputLines);
  196.         assertEquals(expectedOutput, byteArrayOutputStream.toString());
  197.     }
  198.  
  199.     private static String buildExpectedOutputString(String[] expectedOutputLines) {
  200.         final StringBuilder expectedOutputStringBuilder = new StringBuilder();
  201.         for (String line : expectedOutputLines) {
  202.  
  203.             line = line.replaceAll("(.)", " $1");   // Add spaces
  204.  
  205.             expectedOutputStringBuilder.append(line);
  206.  
  207. //            final String NL = System.lineSeparator(); // Local system newline
  208.             final String NL = "\n";     // Unix standard newline
  209.  
  210.             expectedOutputStringBuilder.append(NL);
  211.         }
  212.         return expectedOutputStringBuilder.toString();
  213.     }
  214.  
  215. }
Add Comment
Please, Sign In to add comment