コード例 #1
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_simple():
    assert get_data_errors({'a': 'foobar'},
                           [('a', int)]) == ['Field "a" should be int']
    assert get_data_errors({'a': 'foobar'}, [('a', {
        text: text
    })]) == ['Field "a" should be dict']
    assert get_data_errors({'a': {
        'foobar': 2
    }}, [('a', {
        text: text
    })]) == ['Values of "a" should be ' + text.__name__]
    assert get_data_errors({'a': {
        2: 'foobar'
    }}, [('a', {
        text: text
    })]) == ['Keys of "a" should be ' + text.__name__]
コード例 #2
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_with_known_subkey():
    assert get_data_errors({'sub': {'int_item': 42}}, field_types) == []
    assert get_data_errors({'sub': {'text_item': ''}}, field_types) == []
コード例 #3
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_with_unknown_subkey():
    assert get_data_errors({'sub': {
        'unknown': 42
    }}, field_types) == ['Unknown key name: "sub.unknown"']
コード例 #4
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_sub_dict():
    assert get_data_errors({'a': 1},
                           field_types) == ['Field "a" should be dict']
    assert get_data_errors({'a': {
        'b': 1
    }}, field_types) == ['Field "a.b" should be dict']
コード例 #5
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_unknown_keys():
    assert get_data_errors({'a': 'b'}, []) == ['Unknown key name: "a"']
    assert get_data_errors({'x': 1}, field_types) == ['Unknown key name: "x"']
コード例 #6
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_invalid_type_specifier():
    with pytest.raises(ValueError):
        get_data_errors({'x': 1}, [('x', set('abc'))])
コード例 #7
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_edge_cases():
    assert get_data_errors({}, []) == []
    assert get_data_errors({}, field_types) == []
コード例 #8
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_with_sub_text_error():
    not_ok = dict(ok_data, sub={'text_item': 42})
    assert get_data_errors(not_ok, field_types) == [
        'Field "sub.text_item" should be ' + text.__name__
    ]
コード例 #9
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_with_dict_error():
    not_ok = dict(ok_data, dict_item='hello')
    assert get_data_errors(
        not_ok, field_types) == ['Field "dict_item" should be dict']
コード例 #10
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_with_list_item_error():
    not_ok = dict(ok_data, list_item_int_value=['not int'])
    assert get_data_errors(not_ok, field_types) == [
        'Values of "list_item_int_value" should be int'
    ]
コード例 #11
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_with_list_error():
    not_ok = dict(ok_data, list_item_int_value=42)
    assert get_data_errors(
        not_ok, field_types) == ['Field "list_item_int_value" should be list']
コード例 #12
0
ファイル: test_prereqfile.py プロジェクト: i2biz/prequ
def test_get_data_errors_with_ok_data():
    assert get_data_errors(ok_data, field_types) == []