@Test
public void testDecode()
{

    KeyAlgo algo = new LinearKeyAlgo(3, 4).setBounds(-1, 9, -2, 20);
    GHPoint latLon = new GHPoint();
    // decode that we get the center of the grid cell!
    algo.decode(5, latLon);
    assertEquals(9, latLon.lat, 1e-7);
    assertEquals(2.75, latLon.lon, 1e-7);
    algo.decode(2, latLon);
    assertEquals(1.66666666, latLon.lat, 1e-7);
    assertEquals(5.25, latLon.lon, 1e-7);
    algo.decode(11, latLon);
    assertEquals(16.3333333, latLon.lat, 1e-7);
    assertEquals(7.75, latLon.lon, 1e-7);
    algo.decode(10, latLon);
    assertEquals(16.3333333, latLon.lat, 1e-7);
    assertEquals(5.25, latLon.lon, 1e-7);
}