@Test
	public void testTileIterator() {
		World world = new World(10,10);
		Tile tile = world.getTile(2, 3);
		List<Tile> travelledTiles = new ArrayList<Tile>();
		TileIterator tileIterator = new TileIterator(Direction.East, tile);
		
		while(tileIterator.hasNext()) {
			travelledTiles.add(tileIterator.next());
		}
		
		Dimension[] expectedCoords = new Dimension[] {new Dimension(3,2),
				                                      new Dimension(3,3),
				                                      new Dimension(3,4),
				                                      new Dimension(4,1),
				                                      new Dimension(4,2),
				                                      new Dimension(4,3),
				                                      new Dimension(4,4),
				                                      new Dimension(4,5)};
		
		for(Dimension dimension : expectedCoords) {
			boolean dimensionFound = false;
			for(Tile travelledTile : travelledTiles) {
				if(travelledTile.getX() == dimension.getWidth() && travelledTile.getY() == dimension.getHeight()) {
					dimensionFound = true;
					break;
				}
			}
			Assert.assertTrue("Did not travel the expected tile: " + dimension,dimensionFound);
		}
	}