Tile extends Observable implements Drawable, Tickable { public void setProperty(TileProperty prop, Object value) { properties.put(prop, value); } Tile(int x, int y, int tileType); @Override double getWorldX(); @Override double getWorldY(); double getWidth(); double getHeight(); void draw(Viewport v, GraphicsContext g); void setTileType(int tileType); void clearProperties(); void setProperty(TileProperty prop, Object value); Boolean hasProperty(TileProperty prop); Object getProperty(TileProperty prop); void removeProperty(TileProperty prop); int getTileType(); TileEntity getTileEntity(); void setTileEntity(TileEntity tileEntity); @Override void tick(); float getWaterLevel(); void increaseWaterLevel(); void setWaterLevel(float newLevel); void decreaseWaterLevel(); void handleObservers(); double getPollution(); void setPollution(double pollution); boolean getSafeZone(); void setSafeZone(boolean safe); void setActiveSeason(String season); String getActiveSeason(); boolean adjacentToWater();  }
@Test public void testSetProperty() { tile.setProperty(TileProperty.HAS_SECRET_GOLD, true); assertEquals(true, tile.getProperty(TileProperty.HAS_SECRET_GOLD)); }