示例#1
0
def test_is_err_with_ok():
    x = Ok(-3)

    assert not x.is_err()
示例#2
0
def test_iter_with_ok():
    x = Ok(2)

    assert list(iter(x)) == [2]
示例#3
0
def test_hash_ok():
    x = Ok(2)
    y = Ok(2)

    assert x == y
    assert hash(x) == hash(y)
示例#4
0
def test_and_with_ok_err():
    x = Ok(2)
    y = Err(Exception('late'))

    assert x.and_(y) == Err(Exception('late'))
示例#5
0
def test_ok_or_else_with_some():
    x = Some(2)

    assert x.ok_or_else(lambda: Exception('error message')) == Ok(2)
示例#6
0
def test_err_with_ok():
    x = Ok(2)

    assert x.err() == Nun()
示例#7
0
def test_map_err_with_ok():
    x = Ok(2)

    assert x.map_err(lambda x: type(x)(x.args[0].upper())) == x
示例#8
0
def test_or_else_with_ok():
    x = Ok(2)

    assert x.or_else(lambda x: Ok(True)) == x
示例#9
0
def test_or_else_with_err():
    x = Err(Exception('error message'))

    assert x.or_else(lambda x: Ok(True)) == Ok(True)
示例#10
0
def test_or_with_ok():
    x = Ok(2)

    assert x.or_(Err(Exception('error message'))) == x
示例#11
0
def test_or_with_err():
    x = Err(Exception('error message'))

    assert x.or_(Ok(5)) == Ok(5)
示例#12
0
def test_and_then_with_ok_and_then_err():
    x = Ok(2)

    assert x.and_then(lambda x: Err(Exception(x + 1))) == Err(Exception(3))
示例#13
0
def test_and_then_with_ok():
    x = Ok(2)

    assert x.and_then(lambda x: Ok(x**2)) == Ok(4)
示例#14
0
def test_is_ok_with_ok():
    x = Ok(-3)

    assert x.is_ok()
示例#15
0
def test_hash_ok_not_eq():
    x = Ok(2)
    y = Ok(3)

    assert x != y
    assert hash(x) != hash(y)
示例#16
0
def test_unwrap_with_ok():
    x = Ok(2)

    assert x.unwrap() == 2
示例#17
0
def test_ok_with_ok():
    x = Ok(2)

    assert x.ok() == Some(2)
示例#18
0
def test_unwrap_or_with_ok():
    x = Ok(2)

    assert x.unwrap_or(0) == 2
示例#19
0
def test_map_with_ok():
    x = Ok(2)

    assert x.map(lambda x: x**2) == Ok(4)
示例#20
0
def test_unwrap_or_else_with_ok():
    x = Ok(2)

    assert x.unwrap_or_else(lambda x: x.args[0].upper()) == 2
示例#21
0
def test_and_with_ok_ok():
    x = Ok(2)
    y = Ok(3)

    assert x.and_(y) == Ok(3)
示例#22
0
def test_unwrap_err_with_ok():
    x = Ok(2)

    with pytest.raises(Panic):
        x.unwrap_err()
示例#23
0
def test_and_with_err_ok():
    x = Err(Exception('early'))
    y = Ok(2)

    assert x.and_(y) == Err(Exception('early'))
示例#24
0
def test_ok_or_with_some():
    x = Some(2)

    assert x.ok_or(Exception('error message')) == Ok(2)