def test_set_year_rejects_malformed_years():
    builder = ReferenceBuilder()

    builder.set_year('foobar')

    expected = [{}]
    result = [builder.obj]

    assert expected == result
def test_set_year_rejects_invalid_years():
    builder = ReferenceBuilder()

    builder.set_year(666)

    expected = [{}]
    result = [builder.obj]

    assert expected == result

    builder.set_year(2112)

    expected = [{}]
    result = [builder.obj]

    assert expected == result
def test_set_year():
    schema = load_schema('hep')
    subschema = schema['properties']['references']

    builder = ReferenceBuilder()

    builder.set_year(2017)

    expected = [
        {
            'reference': {
                'publication_info': {
                    'year': 2017,
                },
            },
        },
    ]
    result = [builder.obj]

    assert validate(result, subschema) is None
    assert expected == result