Sha256: 0be15e527a6ce3aa0f4f03d438e8a48782b77e184b93e65c9060cf5aabadf8bf

Contents?: true

Size: 1.61 KB

Versions: 1

Compression:

Stored size: 1.61 KB

Contents

require 'spec_helper'

describe(RCAP::CAP_1_0::Geocode) do
  context('when initialised') do
    context('from XML') do
      before(:each) do
        @original_geocode = RCAP::CAP_1_0::Geocode.new do |geocode|
          geocode.name = 'name'
          geocode.value = 'value'
        end
        @alert = RCAP::CAP_1_0::Alert.new
        @alert.add_info.add_area.geocodes << @original_geocode
        @xml_string = @alert.to_xml
        @xml_document = REXML::Document.new(@xml_string)
        @info_xml_element = RCAP.xpath_first(@xml_document.root, RCAP::CAP_1_0::Info::XPATH, RCAP::CAP_1_0::Alert::XMLNS)
        @area_xml_element = RCAP.xpath_first(@info_xml_element, RCAP::CAP_1_0::Area::XPATH, RCAP::CAP_1_0::Alert::XMLNS)
        @geocode_xml_element = RCAP.xpath_first(@area_xml_element, RCAP::CAP_1_0::Geocode::XPATH, RCAP::CAP_1_0::Alert::XMLNS)
        @geocode = RCAP::CAP_1_0::Geocode.from_xml_element(@geocode_xml_element)
      end

      it('should parse into the correct class') do
        @geocode.class.should == RCAP::CAP_1_0::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_0::Geocode.new do |geocode|
        geocode.name = 'name'
        geocode.value = 'value'
      end
    end

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rcap-2.7.4 spec/cap_1_0/geocode_spec.rb