require 'spec_helper' describe 'Proximity Hash' do latitude = 12.0 longitude = 77.0 distance = 20.0 precision = 8 it 'calculates expected geohashes in distance order' do ph = ProximityHash.new(latitude, longitude, distance, precision) hashes = ph.calculate expected = [ 'tdnu20tc', 'tdnu20t9', 'tdnu20tb', 'tdnu20t8', 'tdnu20tf', 'tdnu20td', 'tdnu20mz', 'tdnu20mx', 'tdnu20t3', 'tdnu20t2' ] expect(hashes.keys).to eq(expected) end it 'includes source point' do source = GeoHash.encode(latitude, longitude, precision) expected = [ 'tdnu20tc', 'tdnu20t9', 'tdnu20tb', 'tdnu20t8', 'tdnu20tf', 'tdnu20td', 'tdnu20mz', 'tdnu20mx', 'tdnu20t3', 'tdnu20t2', source ] expect(hashes.keys).to eq(expected) end end