Sha256: ad7d4394993137438bd4401d9292fbba243ed80cf4e79aa9783f0825fc86b7d5

Contents?: true

Size: 1.61 KB

Versions: 6

Compression:

Stored size: 1.61 KB

Contents

require 'spec_helper'

describe(RCAP::CAP_1_2::Geocode) do
  before(:each) do
    @geocode_builder = lambda do |geocode|
      geocode.name = 'name'
      geocode.value = 'value'
    end
  end

  context('when initialised') do
    context('from XML') do
      before(:each) do
        @original_geocode = RCAP::CAP_1_2::Geocode.new(&@geocode_builder)
        @alert = RCAP::CAP_1_2::Alert.new
        @alert.add_info.add_area.add_geocode(&@geocode_builder)
        @xml_string = @alert.to_xml
        @xml_document = REXML::Document.new(@xml_string)
        @info_xml_element = RCAP.xpath_first(@xml_document.root, RCAP::CAP_1_2::Info::XPATH, RCAP::CAP_1_2::Alert::XMLNS)
        @area_xml_element = RCAP.xpath_first(@info_xml_element, RCAP::CAP_1_2::Area::XPATH, RCAP::CAP_1_2::Alert::XMLNS)
        @geocode_xml_element = RCAP.xpath_first(@area_xml_element, RCAP::CAP_1_2::Geocode::XPATH, RCAP::CAP_1_2::Alert::XMLNS)
        @geocode = RCAP::CAP_1_2::Geocode.from_xml_element(@geocode_xml_element)
      end

      it('should parse into the correct class') do
        @geocode.class.should == RCAP::CAP_1_2::Geocode
      end

      it('should parse the name correctly') do
        @geocode.name.should == @original_geocode.name
      end

      it('should parse the value correctly') do
        @geocode.value.should == @original_geocode.value
      end
    end
  end

  context('when exported') do
    before(:each) do
      @geocode = RCAP::CAP_1_2::Geocode.new(&@geocode_builder)
    end

    context('to a hash') do
      it('should export correctly') do
        @geocode.to_h.should == { 'name' => 'value' }
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rcap-2.7.4 spec/cap_1_2/geocode_spec.rb
rcap-2.7.3 spec/cap_1_2/geocode_spec.rb
rcap-2.7.0 spec/cap_1_2/geocode_spec.rb
rcap-2.6.0 spec/cap_1_2/geocode_spec.rb
rcap-2.5.1 spec/cap_1_2/geocode_spec.rb
rcap-2.5.0 spec/cap_1_2/geocode_spec.rb