Sha256: e442b90fad6e7d7bcf6385255b6b5e763d4526fce91566a7dd66f7f59da3b3af

Contents?: true

Size: 1.92 KB

Versions: 23

Compression:

Stored size: 1.92 KB

Contents

require 'test/unit'
require 'marc'

class TestField < Test::Unit::TestCase

    def test_tag
        f1 = MARC::DataField.new('100')
        assert_equal('100', f1.tag)
        f2 = MARC::DataField.new(tag='100')
        assert_equal('100', f2.tag)
        assert_equal(f1, f2)
        f3 = MARC::DataField.new('245')
        assert_not_equal(f1, f3)
    end

    def test_indicators
        f1 = MARC::DataField.new('100', '0', '1')
        assert_equal('0', f1.indicator1)
        assert_equal('1', f1.indicator2)
        f2 = MARC::DataField.new(tag='100',i1='0',i2='1')
        assert_equal('0', f2.indicator1)
        assert_equal('1', f2.indicator2)
        assert_equal(f1, f2)
        f3 = MARC::DataField.new(tag='100', i1='1', i2='1')
        assert_not_equal(f1, f3)
    end

    def test_subfields
        f1 = MARC::DataField.new('100', '0', '1', 
            MARC::Subfield.new('a', 'Foo'),
            MARC::Subfield.new('b', 'Bar') )
        assert_equal("100 01 $a Foo $b Bar ", f1.to_s)
        assert_equal("FooBar", f1.value)
        f2 = MARC::DataField.new('100', '0', '1', 
            MARC::Subfield.new('a', 'Foo'),
            MARC::Subfield.new('b', 'Bar') )
        assert_equal(f1,f2)
        f3 = MARC::DataField.new('100', '0', '1', 
            MARC::Subfield.new('a', 'Foo'),
            MARC::Subfield.new('b', 'Bez') )
        assert_not_equal(f1,f3)
    end

    def test_subfield_shorthand
        f  = MARC::DataField.new('100', '0', '1', ['a', 'Foo'], ['b', 'Bar'])
        assert_equal('100 01 $a Foo $b Bar ', f.to_s)
    end
            

    def test_iterator
        field = MARC::DataField.new('100', '0', '1', ['a', 'Foo'],['b', 'Bar'],
            ['a', 'Bez'])
        count = 0
        field.each {|x| count += 1}
        assert_equal(count,3)
    end
    
    def test_lookup_shorthand
        f  = MARC::DataField.new('100', '0', '1', ['a', 'Foo'], ['b', 'Bar'])
        assert_equal(f['b'], 'Bar')
    end

end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
marc-0.5.1 test/tc_datafield.rb
marc-0.5.0 test/tc_datafield.rb
marc-0.4.4 test/tc_datafield.rb
marc-0.4.3 test/tc_datafield.rb
marc-0.4.2 test/tc_datafield.rb
marc-0.4.1 test/tc_datafield.rb
marc-0.4.0 test/tc_datafield.rb
marc-0.3.3 test/tc_datafield.rb
marc-0.3.2 test/tc_datafield.rb
marc-0.3.1 test/tc_datafield.rb
marc-0.3.0 test/tc_datafield.rb
marc-0.1.0 test/tc_datafield.rb
marc-0.1.2 test/tc_datafield.rb
marc-0.2.1 test/tc_datafield.rb
marc-0.2.2 test/tc_datafield.rb
marc-0.1.6 test/tc_datafield.rb
marc-0.1.4 test/tc_datafield.rb
marc-0.1.3 test/tc_datafield.rb
marc-0.1.9 test/tc_datafield.rb
marc-0.1.8 test/tc_datafield.rb