Пример #1
0
def test_no_data():
    """There are no field mappings that fail if they have no data to work on"""
    orig_rec = {}
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    mapper.map_collection()
    assert_equals(mapper.mapped_data['sourceResource'], {})
Пример #2
0
def test_no_date_or_publisher_data():
    """Does not make changes, does not fail if there are no date / publisher"""
    orig_rec = {'originInfo': {}}
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    bhl_mods._date_values = MagicMock(return_value=[])
    mapper.map_date_and_publisher()
    assert_equals(mapper.mapped_data['sourceResource'], {})
Пример #3
0
def test_map_title_works_w_no_part_detail():
    """Title processing works when there's no //part/detail"""
    orig_rec = {'titleInfo': {'title': "The Title"}, 'part': {}}
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    mapper.map_title()
    assert_equals(mapper.mapped_data["sourceResource"],
                  {'title': ["The Title"]})
Пример #4
0
def test_map_date_single():
    """A single date is mapped"""
    orig_rec = {'originInfo': {'dateIssued': ['stub']}}
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    bhl_mods._date_values = MagicMock(return_value=[u'1900'])
    mapper.map_date_and_publisher()
    bhl_mods._date_values.assert_called_with(orig_rec['originInfo'])
    assert_equals(mapper.mapped_data['sourceResource'], {'date': u'1900'})
Пример #5
0
def test_map_date_multiple_format_as_range():
    """A number of date elements produces hyphenated range of low to high"""
    orig_rec = {'originInfo': {'dateIssued': ['stub']}}
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    bhl_mods._date_values = MagicMock(return_value=[u'1900', u'1901', u'1902'])
    mapper.map_date_and_publisher()
    bhl_mods._date_values.assert_called_with(orig_rec['originInfo'])
    assert_equals(mapper.mapped_data['sourceResource'], {'date': u'1900-1902'})
Пример #6
0
def test_map_collection():
    """Maps a collection"""
    orig_rec = {'relatedItem': {'type': 'series', 'titleInfo': {'title': 'a'}}}
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    mapper.map_collection()
    assert_equals(mapper.mapped_data['sourceResource'],
                  {'collection': [{
                      'title': 'a'
                  }]})
Пример #7
0
def test_map_publisher():
    """A publisher is mapped if it is given"""
    orig_rec = {'originInfo': {'publisher': 'X'}}
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    bhl_mods._date_values = MagicMock(return_value=[u'1900'])
    mapper.map_date_and_publisher()
    assert_equals(mapper.mapped_data['sourceResource'], {
        'date': u'1900',
        'publisher': ['X']
    })
Пример #8
0
def test_map_date_range_string():
    """Date strings expressed as ranges are preferred over single years"""
    date_strs = ['1901-1902', '1903/1904']
    for d in date_strs:
        orig_rec = {'originInfo': {'dateIssued': ['stub']}}
        mapper = bhl_mods.BHLMapper(orig_rec)
        mapper.root_key = ''
        bhl_mods._date_values = MagicMock(return_value=[u'1899', unicode(d)])
        mapper.map_date_and_publisher()
        bhl_mods._date_values.assert_called_with(orig_rec['originInfo'])
        assert_equals(mapper.mapped_data['sourceResource'],
                      {'date': unicode(d)})
Пример #9
0
def test_map_publisher_with_place_term():
    """A publisher is mapped with a place term if it is given"""
    orig_rec = {
        'originInfo': {
            'publisher': 'X',
            'place': {
                'placeTerm': {
                    'type': 'text',
                    '#text': 'The place :'
                }
            }
        }
    }
    mapper = bhl_mods.BHLMapper(orig_rec)
    mapper.root_key = ''
    bhl_mods._date_values = MagicMock(return_value=[u'1900'])
    mapper.map_date_and_publisher()
    assert_equals(mapper.mapped_data['sourceResource'], {
        'date': u'1900',
        'publisher': ['The place : X']
    })