示例#1
0
def test_array_returns_decoded_list_in_result(ins):

    rv = array(to_int, ins)

    assert is_ok(rv)

    for orig, res in zip(ins, rv.value):
        assert res == int(orig)
示例#2
0
def test_and_then_run_next_decoder():
    def dec(val):
        return ok(val - 1)

    rv = and_then(dec, to_int, 5)

    assert is_ok(rv)
    assert value(rv) == 4
示例#3
0
def test_pipe_pass_value_trough_pipeline():
    def inc(val):
        return ok(val + 1)

    rv = pipe([
        inc,
        inc,
        inc,
    ], 1)

    assert is_ok(rv)
    assert value(rv) == 4
示例#4
0
def test_to_string_returns_ok_result(val):
    rv = to_string(val)

    assert is_ok(rv)
    assert value(rv) == val
示例#5
0
 def _verify(*args, **kwargs):
     result = pipe(*pipeline)
     return fun(*args, **kwargs) if is_ok(result) else on_error()
示例#6
0
def test_to_bool_return_false_in_decoded_result(val):
    rv = to_bool(val)

    assert is_ok(rv)
    assert not value(rv)
示例#7
0
def test_to_string_return_decoded_result():
    rv = to_string('foo')

    assert is_ok(rv)
    assert value(rv) == 'foo'
示例#8
0
def test_to_float_return_parsed_result():
    rv = to_float('1.5')

    assert is_ok(rv)
    assert value(rv) == 1.5
示例#9
0
def test_to_int_return_parsed_result():
    rv = to_int('10')

    assert is_ok(rv)
    assert value(rv) == 10
示例#10
0
def test_none_return_none_in_decoded_result(val):
    rv = null(val)

    assert is_ok(rv)
    assert value(rv) is None
示例#11
0
def test_dmap_apply_function_to_decoded_val():
    rv = dmap(lambda x: x + 1, to_int, '1')

    assert is_ok(rv)
    assert value(rv) == 2
示例#12
0
def test_optional_return_default_value_in_result_if_value_isnt_found(data):
    rv = optional('y', ok, 'foo', getter(data))  # pylint: disable=no-value-for-parameter

    assert is_ok(rv)
    assert value(rv) == 'foo'
示例#13
0
def test_optional_return_decoded_value_in_result(data):
    rv = optional('field', ok, 'foo', getter(data))  # pylint: disable=no-value-for-parameter

    assert is_ok(rv)
    assert equal(value(rv), data['field'])
示例#14
0
def test_hardcoded_return_ok_result():
    rv = hardcoded(2.5, None)

    assert is_ok(rv)
    assert value(rv) == 2.5
示例#15
0
def test_required_return_ok_result(data):
    rv = required('field', ok, getter(data))  # pylint: disable=no-value-for-parameter

    assert is_ok(rv)
    assert equal(value(rv), data['field'])