Sha256: 5af071ef62a6d0e9fcd621aa0746a45fd1c9b6f8a1b919b5d7efa803cd6ea237

Contents?: true

Size: 1.87 KB

Versions: 1

Compression:

Stored size: 1.87 KB

Contents

# encoding: utf-8
require 'spec_helper'

describe "Cartographic coordinates" do

  let(:smods_rec) { Stanford::Mods::Record.new }
  let(:no_coord)  do
    <<-EOF
      <mods xmlns="#{Mods::MODS_NS}">
        <subject>
          <cartographics>
          <scale>Scale 1:500,000</scale>
          <coordinates></coordinates>
          </cartographics>
        </subject>
      </mods>
    EOF
  end
  let(:with_coords)  do
    <<-EOF
      <mods xmlns="#{Mods::MODS_NS}">
        <subject>
          <cartographics>
          <scale>Scale 1:500,000</scale>
          <coordinates>(W16°--E28°/N13°--S15°).</coordinates>
          </cartographics>
        </subject>
      </mods>
    EOF
  end

  let(:with_bad_data) do
    <<-EOF
      <mods xmlns="#{Mods::MODS_NS}">
        <subject>
          <cartographics>
          <scale>Scale 1:500,000</scale>
          <coordinates>(Unknown).</coordinates>
          </cartographics>
        </subject>
      </mods>
    EOF
  end

  context "coordinates" do
    it "returns empty array if no coordinates in the mods" do
      smods_rec.from_str(no_coord)
      expect(smods_rec.coordinates).to eq([""])
    end
    it "returns decimal representation of latitude and longitude" do
      smods_rec.from_str(with_coords)
      expect(smods_rec.coordinates).to eq(["(W16°--E28°/N13°--S15°)."])
    end
  end

  context "point_bbox" do
    it "returns empty array if no coordinates in the mods" do
      smods_rec.from_str(no_coord)
      expect(smods_rec.point_bbox).to eq([])
    end
    it "returns empty array if bad data is in the mods" do
      smods_rec.from_str(with_bad_data)
      expect(smods_rec.point_bbox).to eq([])
    end
    it "returns decimal representation of latitude and longitude" do
      smods_rec.from_str(with_coords)
      expect(smods_rec.point_bbox).to eq(["-16.0 -15.0 28.0 13.0"])
    end
  end

end # describe Cartographic coordinates

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
stanford-mods-1.3.1 spec/geo_spatial_spec.rb