import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public final class RectangleCounterTest {

    private RectangleCounter rectangleCounter;

    @Before
    public void setUp() {
        rectangleCounter = new RectangleCounter();
    }

    @Test
    public void testInputWithNoColumnsContainsNoRectangles() {
        String[] inputGrid = new String[]{};

        assertEquals(0, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testNonTrivialInputWithNoRectangles() {
        String[] inputGrid = new String[]{" "};

        assertEquals(0, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testInputWithOneRectangle() {
        String[] inputGrid = new String[]{
                "+-+",
                "| |",
                "+-+"
        };

        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testInputWithTwoRectanglesWithoutSharedEdges() {
        String[] inputGrid = new String[]{
                "  +-+",
                "  | |",
                "+-+-+",
                "| |  ",
                "+-+  "
        };

        assertEquals(2, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testInputWithFiveRectanglesWithSharedEdges() {
        String[] inputGrid = new String[]{
                "  +-+",
                "  | |",
                "+-+-+",
                "| | |",
                "+-+-+"
        };

        assertEquals(5, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testThatRectangleOfHeightOneIsCounted() {
        String[] inputGrid = new String[]{
                "+--+",
                "+--+"
        };

        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testThatRectangleOfWidthOneIsCounted() {
        String[] inputGrid = new String[]{
                "++",
                "||",
                "++"
        };

        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testThatOneByOneSquareIsCounted() {
        String[] inputGrid = new String[]{
                "++",
                "++"
        };

        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testThatIncompleteRectanglesAreNotCounted() {
        String[] inputGrid = new String[]{
                "  +-+",
                "    |",
                "+-+-+",
                "| | -",
                "+-+-+"
        };

        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testThatRectanglesOfDifferentSizesAreAllCounted() {
        String[] inputGrid = new String[]{
                "+------+----+",
                "|      |    |",
                "+---+--+    |",
                "|   |       |",
                "+---+-------+"
        };

        assertEquals(3, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testThatIntersectionsWithoutCornerCharacterDoNotCountAsRectangleCorners() {
        String[] inputGrid = new String[]{
                "+------+----+",
                "|      |    |",
                "+------+    |",
                "|   |       |",
                "+---+-------+"
        };

        assertEquals(2, rectangleCounter.countRectangles(inputGrid));
    }

    @Ignore
    @Test
    public void testLargeInputWithManyRectangles() {
        String[] inputGrid = new String[]{
                "+---+--+----+",
                "|   +--+----+",
                "+---+--+    |",
                "|   +--+----+",
                "+---+--+--+-+",
                "+---+--+--+-+",
                "+------+  | |",
                "          +-+"
        };

        assertEquals(60, rectangleCounter.countRectangles(inputGrid));
    }

}

@@ -499,33 +499,55 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A
-
     @Test%0A    pu
@@ -725,32 +725,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -1015,32 +1015,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -1380,32 +1380,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -1743,32 +1743,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -2024,32 +2024,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -2322,32 +2322,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -2593,32 +2593,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -2955,32 +2955,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -3363,32 +3363,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -3784,32 +3784,32 @@
 tGrid));%0A    %7D%0A%0A
-
     @Ignore%0A    
@@ -3803,16 +3803,38 @@
  @Ignore
+(%22Remove to run test%22)
 %0A    @Te

add hint to @Ignore annotations