Sha256: c8a6d872fb8c171978d6e173de4a42c0c0b5f9036bf4a3c40ea9d9b61acd301d

Contents?: true

Size: 1.15 KB

Versions: 18

Compression:

Stored size: 1.15 KB

Contents

require 'spec_helper'

describe GeoConcerns::Coverage do
  let(:cov_string) { 'northlimit=43.039; eastlimit=-69.856; southlimit=42.943; '\
                     'westlimit=-71.032; units=degrees; projection=EPSG:4326'
  }

  subject { described_class.new(43.039, -69.856, 42.943, -71.032) }

  describe '#parse' do
    context 'with a valid coverage string' do
      it 'returns a coverage instance' do
        coverage = described_class.parse(cov_string)
        expect(coverage).to be_an_instance_of(described_class)
        expect(coverage.n).to eq(43.039)
        expect(coverage.e).to eq(-69.856)
        expect(coverage.s).to eq(42.943)
        expect(coverage.w).to eq(-71.032)
      end
    end

    context 'with an invalid coverage string' do
      it 'returns nil' do
        expect(described_class.parse('invalid')).to be_nil
      end
    end
  end

  describe 'parse_coordinate' do
    it 'parses a coordinate' do
      expect(described_class.parse_coordinate(cov_string, /northlimit=([\.\d\-]+);/)).to eq 43.039
    end
  end

  describe '#to_s' do
    it 'converts coordinates to a coverage string' do
      expect(subject.to_s).to eq cov_string
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
geo_concerns-0.3.4 spec/values/coverage_spec.rb
geo_concerns-0.3.3 spec/values/coverage_spec.rb
geo_concerns-0.3.2 spec/values/coverage_spec.rb
geo_concerns-0.3.1 spec/values/coverage_spec.rb
geo_concerns-0.3.0 spec/values/coverage_spec.rb
geo_concerns-0.2.0 spec/values/coverage_spec.rb
geo_concerns-0.1.1 spec/values/coverage_spec.rb
geo_concerns-0.1.0 spec/values/coverage_spec.rb
geo_concerns-0.0.10 spec/values/coverage_spec.rb
geo_concerns-0.0.9 spec/values/coverage_spec.rb
geo_concerns-0.0.8 spec/values/coverage_spec.rb
geo_concerns-0.0.7 spec/values/coverage_spec.rb
geo_concerns-0.0.6 spec/values/coverage_spec.rb
geo_concerns-0.0.5 spec/values/coverage_spec.rb
geo_concerns-0.0.4 spec/values/coverage_spec.rb
geo_concerns-0.0.3 spec/values/coverage_spec.rb
geo_concerns-0.0.2 spec/values/coverage_spec.rb
geo_concerns-0.0.1 spec/values/coverage_spec.rb