30 lines
1.3 KiB
Ruby
30 lines
1.3 KiB
Ruby
|
require 'helper'
|
||
|
|
||
|
describe Twitter::Geo::Polygon do
|
||
|
|
||
|
before do
|
||
|
@polygon = Twitter::Geo::Polygon.new(:coordinates => [[[-122.40348192, 37.77752898], [-122.387436, 37.77752898], [-122.387436, 37.79448597], [-122.40348192, 37.79448597]]])
|
||
|
end
|
||
|
|
||
|
describe '#==' do
|
||
|
it 'returns true for empty objects' do
|
||
|
polygon = Twitter::Geo::Polygon.new
|
||
|
other = Twitter::Geo::Polygon.new
|
||
|
expect(polygon == other).to be true
|
||
|
end
|
||
|
it 'returns true when objects coordinates are the same' do
|
||
|
other = Twitter::Geo::Polygon.new(:coordinates => [[[-122.40348192, 37.77752898], [-122.387436, 37.77752898], [-122.387436, 37.79448597], [-122.40348192, 37.79448597]]])
|
||
|
expect(@polygon == other).to be true
|
||
|
end
|
||
|
it 'returns false when objects coordinates are different' do
|
||
|
other = Twitter::Geo::Polygon.new(:coordinates => [[[37.77752898, -122.40348192], [37.77752898, -122.387436], [37.79448597, -122.387436], [37.79448597, -122.40348192]]])
|
||
|
expect(@polygon == other).to be false
|
||
|
end
|
||
|
it 'returns false when classes are different' do
|
||
|
other = Twitter::Geo.new(:coordinates => [[[-122.40348192, 37.77752898], [-122.387436, 37.77752898], [-122.387436, 37.79448597], [-122.40348192, 37.79448597]]])
|
||
|
expect(@polygon == other).to be false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|