test_class.declarator: ONE_BY_ONE = new TileSize(1, 1)
test_class.modifier: private static final
test_class.original_string: private static final TileSize ONE_BY_ONE = new TileSize(1, 1);
test_class.type: TileSize
test_class.var_name: ONE_BY_ONE
test_class.declarator: TWO_BY_ONE = new TileSize(2, 1)
test_class.modifier: private static final
test_class.original_string: private static final TileSize TWO_BY_ONE = new TileSize(2, 1);
test_class.type: TileSize
test_class.var_name: TWO_BY_ONE
test_class.declarator: ONE_BY_TWO = new TileSize(1, 2)
test_class.modifier: private static final
test_class.original_string: private static final TileSize ONE_BY_TWO = new TileSize(1, 2);
test_class.type: TileSize
test_class.var_name: ONE_BY_TWO
test_class.declarator: pane
test_class.modifier: private
test_class.original_string: private WidgetPane pane;
test_class.type: WidgetPane
test_class.var_name: pane
test_class.file: app/src/test/java/edu/wpi/first/shuffleboard/app/TileMoverTest.java
test_class.identifier: TileMoverTest
test_class.superclass: extends ApplicationTest
test_case.body: @Test
    public void testShrinkUp() {
      // given
      pane.setNumRows(4);
      Tile<?> first = new WidgetTile(new MockWidget(), ONE_BY_TWO);
      Tile<?> second = new WidgetTile(new MockWidget(), ONE_BY_TWO);
      pane.addTile(first, new GridPoint(0, 0), ONE_BY_TWO);
      pane.addTile(second, new GridPoint(0, 2), ONE_BY_TWO);
      waitForFxEvents();
  
      // when
      pane.setNumRows(2);
      waitForFxEvents();
  
      // then
      assertAll(
          () -> assertEquals(new GridPoint(0, 0), pane.getTileLayout(first).origin),
          () -> assertEquals(ONE_BY_ONE, pane.getTileLayout(first).size),
          () -> assertEquals(new GridPoint(0, 1), pane.getTileLayout(second).origin),
          () -> assertEquals(ONE_BY_ONE, pane.getTileLayout(second).size)
      );
    }
test_case.class_method_signature: TileMoverTest.testShrinkUp()
test_case.full_signature: @Test public void testShrinkUp()
test_case.identifier: testShrinkUp
test_case.invocations: setNumRows addTile addTile waitForFxEvents setNumRows waitForFxEvents assertAll assertEquals getTileLayout assertEquals getTileLayout assertEquals getTileLayout assertEquals getTileLayout
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testShrinkUp()
focal_class.declarator: pane
focal_class.modifier: private final
focal_class.original_string: private final WidgetPane pane;
focal_class.type: WidgetPane
focal_class.var_name: pane
focal_class.file: app/src/main/java/edu/wpi/first/shuffleboard/app/TileMover.java
focal_class.identifier: TileMover
focal_class.class_method_signature: TileMover.TileMover(WidgetPane pane)
focal_class.full_signature: public  TileMover(WidgetPane pane)
focal_class.identifier: TileMover
focal_class.modifiers: public
focal_class.parameters: (WidgetPane pane)
focal_class.signature:  TileMover(WidgetPane pane)
focal_class.class_method_signature: TileMover.shrinkLeft(TileSize size)
focal_class.full_signature: private static TileSize shrinkLeft(TileSize size)
focal_class.identifier: shrinkLeft
focal_class.modifiers: private static
focal_class.parameters: (TileSize size)
focal_class.return: TileSize
focal_class.signature: TileSize shrinkLeft(TileSize size)
focal_class.class_method_signature: TileMover.shrinkUp(TileSize size)
focal_class.full_signature: private static TileSize shrinkUp(TileSize size)
focal_class.identifier: shrinkUp
focal_class.modifiers: private static
focal_class.parameters: (TileSize size)
focal_class.return: TileSize
focal_class.signature: TileSize shrinkUp(TileSize size)
focal_class.class_method_signature: TileMover.moveLeft(TileLayout layout)
focal_class.full_signature: private static TileLayout moveLeft(TileLayout layout)
focal_class.identifier: moveLeft
focal_class.modifiers: private static
focal_class.parameters: (TileLayout layout)
focal_class.return: TileLayout
focal_class.signature: TileLayout moveLeft(TileLayout layout)
focal_class.class_method_signature: TileMover.moveUp(TileLayout layout)
focal_class.full_signature: private static TileLayout moveUp(TileLayout layout)
focal_class.identifier: moveUp
focal_class.modifiers: private static
focal_class.parameters: (TileLayout layout)
focal_class.return: TileLayout
focal_class.signature: TileLayout moveUp(TileLayout layout)
focal_class.class_method_signature: TileMover.collapseTile(Tile tile, int count, Direction direction)
focal_class.full_signature: public void collapseTile(Tile tile, int count, Direction direction)
focal_class.identifier: collapseTile
focal_class.modifiers: public
focal_class.parameters: (Tile tile, int count, Direction direction)
focal_class.return: void
focal_class.signature: void collapseTile(Tile tile, int count, Direction direction)
focal_class.class_method_signature: TileMover.collapseTile(Tile tile,
                                            Function<TileLayout, TileLayout> targetLayoutFunction,
                                            Function<TileSize, TileSize> shrink,
                                            Direction direction)
focal_class.full_signature: private Optional<Runnable> collapseTile(Tile tile,
                                            Function<TileLayout, TileLayout> targetLayoutFunction,
                                            Function<TileSize, TileSize> shrink,
                                            Direction direction)
focal_class.identifier: collapseTile
focal_class.modifiers: private
focal_class.parameters: (Tile tile,
                                            Function<TileLayout, TileLayout> targetLayoutFunction,
                                            Function<TileSize, TileSize> shrink,
                                            Direction direction)
focal_class.return: Optional<Runnable>
focal_class.signature: Optional<Runnable> collapseTile(Tile tile,
                                            Function<TileLayout, TileLayout> targetLayoutFunction,
                                            Function<TileSize, TileSize> shrink,
                                            Direction direction)
focal_method.body: private static TileSize shrinkUp(TileSize size) {
      return new TileSize(size.getWidth(), Math.max(1, size.getHeight() - 1));
    }
focal_method.class_method_signature: TileMover.shrinkUp(TileSize size)
focal_method.full_signature: private static TileSize shrinkUp(TileSize size)
focal_method.identifier: shrinkUp
focal_method.invocations: getWidth max getHeight
focal_method.modifiers: private static
focal_method.parameters: (TileSize size)
focal_method.return: TileSize
focal_method.signature: TileSize shrinkUp(TileSize size)