### Question:
Receptor extends Tileable { @Override public boolean isReleasable(Direction direction, Marble marble) { return !isLocked() && super.isReleasable(direction, marble); }  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 unlockedReceptorIsNotReleasable() { Grid grid = new Grid(null,1, 1); grid.place(0, 0, receptor); assertThat(receptor.isReleasable(Direction.LEFT, marble)).isFalse(); }
@Test public void isReleasable() { Grid grid = new Grid(null,2, 1); grid.place(0, 0, new HorizontalTrack()); grid.place(1, 0, receptor); assertThat(receptor.isReleasable(Direction.LEFT, marble)).isTrue(); }