@Test public void tryPlacePiece() { final Pie pie = new Pie(bus); assertThat(pie.tryPlacePiece(Pie.SLOT_TOP_LEFT, Piece.ORANGE), is(true)); assertThat(pie.tryPlacePiece(Pie.SLOT_TOP_LEFT, Piece.GREEN), is(false)); assertThat(pie.tryPlacePiece(Pie.SLOT_TOP_CENTER, Piece.ORANGE), is(true)); assertThat(pie.tryPlacePiece(Pie.SLOT_TOP_CENTER, Piece.ORANGE), is(false)); assertThat(occurrencesOf(events, pie.thisChanged), is(equalTo(2))); }
@Test public void canPlacePiece() { final Pie pie = new Pie(bus); assertThat(pie.canPlacePiece(Pie.SLOT_TOP_LEFT, Piece.GREEN), is(true)); assertThat(pie.tryPlacePiece(Pie.SLOT_TOP_LEFT, Piece.GREEN), is(true)); assertThat(pie.canPlacePiece(Pie.SLOT_TOP_LEFT, Piece.PURPLE), is(false)); assertThat(pie.canPlacePiece(Pie.SLOT_TOP_RIGHT, Piece.ORANGE), is(true)); assertThat(pie.tryPlacePiece(Pie.SLOT_TOP_RIGHT, Piece.ORANGE), is(true)); assertThat(pie.canPlacePiece(Pie.SLOT_TOP_RIGHT, Piece.GREEN), is(false)); }
@Test public void serialization() { final Pie outPie = new Pie(bus); outPie.tryPlacePiece(Pie.SLOT_TOP_LEFT, Piece.ORANGE); outPie.tryPlacePiece(Pie.SLOT_TOP_RIGHT, Piece.PURPLE); outPie.tryPlacePiece(Pie.SLOT_BOTTOM_CENTER, Piece.GREEN); final Bundle savedState = new Bundle(); outPie.saveState(savedState); final Pie inPie = new Pie(bus); inPie.restoreState(savedState); assertThat(inPie, is(equalTo(outPie))); }
@Test public void isFull() { final Pie pie = new Pie(bus); assertThat(pie.isFull(), is(false)); pie.tryPlacePiece(Pie.SLOT_TOP_LEFT, Piece.ORANGE); assertThat(pie.isFull(), is(false)); for (@Pie.Slot int slot = Pie.SLOT_TOP_LEFT; slot < Pie.NUMBER_SLOTS; slot++) { pie.tryPlacePiece(slot, Piece.ORANGE); } assertThat(pie.isFull(), is(true)); }
@Test public void reset() { final Pie pie = new Pie(bus); assertThat(pie.isFull(), is(false)); for (@Pie.Slot int slot = Pie.SLOT_TOP_LEFT; slot < Pie.NUMBER_SLOTS; slot++) { pie.tryPlacePiece(slot, Piece.ORANGE); } assertThat(pie.isFull(), is(true)); pie.reset(); assertThat(pie.isFull(), is(false)); assertThat(occurrencesOf(events, pie.thisChanged), is(equalTo(7))); }
@Test public void isSingleColor() { final Pie pie = new Pie(bus); assertThat(pie.isSingleColor(), is(false)); pie.tryPlacePiece(Pie.SLOT_TOP_LEFT, Piece.ORANGE); pie.tryPlacePiece(Pie.SLOT_TOP_CENTER, Piece.PURPLE); pie.tryPlacePiece(Pie.SLOT_TOP_RIGHT, Piece.PURPLE); pie.tryPlacePiece(Pie.SLOT_BOTTOM_LEFT, Piece.GREEN); pie.tryPlacePiece(Pie.SLOT_BOTTOM_CENTER, Piece.GREEN); pie.tryPlacePiece(Pie.SLOT_BOTTOM_RIGHT, Piece.PURPLE); assertThat(pie.isSingleColor(), is(false)); pie.reset(); pie.tryPlacePiece(Pie.SLOT_TOP_LEFT, Piece.ORANGE); pie.tryPlacePiece(Pie.SLOT_TOP_CENTER, Piece.ORANGE); pie.tryPlacePiece(Pie.SLOT_TOP_RIGHT, Piece.ORANGE); pie.tryPlacePiece(Pie.SLOT_BOTTOM_LEFT, Piece.ORANGE); pie.tryPlacePiece(Pie.SLOT_BOTTOM_CENTER, Piece.ORANGE); pie.tryPlacePiece(Pie.SLOT_BOTTOM_RIGHT, Piece.ORANGE); assertThat(pie.isSingleColor(), is(true)); }