### Question:
Receptor extends Tileable { public Slot getSlot(Direction direction) { return slots[Math.floorMod(direction.ordinal() - rotation, directions.length)]; }  void rotate(int turns); int getRotation(); Slot getSlot(Direction direction); boolean isMarked(); boolean isLocked(); void lock(); void unlock(); PowerUp getPowerUp(); void setPowerUp(PowerUp powerUp); @Override boolean isReleasable(Direction direction, Marble marble); @Override boolean allowsConnection(Direction direction); @Override boolean accepts(Direction direction, Marble marble); @Override void accept(Direction direction, Marble marble);  }### Answer:
@Test public void isNotCompatibleB() { Grid grid = new Grid(null, 1, 1); grid.place(0, 0, receptor); assertThat(receptor.getSlot(Direction.LEFT) .isCompatible(receptor.getSlot(Direction.RIGHT))).isFalse(); }
@Test public void getReceptor() { assertThat(receptor.getSlot(Direction.LEFT).getReceptor()).isEqualTo(receptor); }
@Test public void releaseUnoccupiedSlot() { Receptor.Slot slot = receptor.getSlot(Direction.LEFT); assertThatThrownBy(slot::release) .isInstanceOf(IllegalStateException.class) .hasMessage("The slot is not occupied"); }