@Test public void passesMidpointRight() { assertThat(track.passesMidpoint(Direction.RIGHT, marble)).isTrue(); }
@Override public boolean passesMidpoint(Direction direction, Marble marble) { return true; }
VerticalTrack extends Track { @Override public boolean passesMidpoint(Direction direction, Marble marble) { return true; } }
VerticalTrack extends Track { @Override public boolean passesMidpoint(Direction direction, Marble marble) { return true; }  }
VerticalTrack extends Track { @Override public boolean passesMidpoint(Direction direction, Marble marble) { return true; }  boolean isConnected(); @Override boolean passesMidpoint(Direction direction, Marble marble); @Override boolean allowsConnection(Direction direction); @Override boolean accepts(Direction direction, Marble marble); @Override void accept(Direction direction, Marble marble); }
VerticalTrack extends Track { @Override public boolean passesMidpoint(Direction direction, Marble marble) { return true; }  boolean isConnected(); @Override boolean passesMidpoint(Direction direction, Marble marble); @Override boolean allowsConnection(Direction direction); @Override boolean accepts(Direction direction, Marble marble); @Override void accept(Direction direction, Marble marble);  }