コード例 #1
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_hash_nun():
    x = Nun()
    y = Nun()

    assert x == y
    assert hash(x) == hash(y)
コード例 #2
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_is_nun_with_nun():
    x = Nun()

    assert x.is_nun()
コード例 #3
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_get_or_insert_with_with_nun():
    x = Nun()

    assert x.get_or_insert_with(lambda: 5) == 5
    assert isinstance(x, Some)
コード例 #4
0
def test_err_with_ok():
    x = Ok(2)

    assert x.err() == Nun()
コード例 #5
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_is_some_with_nun():
    x = Nun()

    assert not x.is_some()
コード例 #6
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_unwrap_or_else_with_nun(mocker):
    x = Nun()
    func = mocker.MagicMock(return_value = 0)

    assert x.unwrap_or_else(func) == 0
    assert func.call_count == 1
コード例 #7
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_map_or_with_nun():
    x = Nun()

    assert x.map_or(lambda y: y ** 2, 0) == 0
コード例 #8
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_and_with_nun_nun():
    x = Nun()
    y = Nun()

    assert x.and_(y) == Nun()
コード例 #9
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_and_then_with_nun():
    x = Nun()

    assert x.and_then(lambda y: y ** 2) == Nun()
コード例 #10
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_and_with_some_nun():
    x = Some(2)
    y = Nun()

    assert x.and_(y) == Nun()
コード例 #11
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_and_with_nun_some():
    x = Nun()
    y = Some(2)

    assert x.and_(y) == Nun()
コード例 #12
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_iter_with_nun():
    x = Nun()

    assert list(iter(x)) == []
コード例 #13
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_ok_or_else_with_nun():
    x = Nun()

    assert x.ok_or_else(lambda: Exception('error message')) == Err(Exception('error message'))
コード例 #14
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_ok_or_with_nun():
    x = Nun()

    assert x.ok_or(Exception('error message')) == Err(Exception('error message'))
コード例 #15
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_unwrap_with_nun():
    x = Nun()

    with pytest.raises(Panic):
        x.unwrap()
コード例 #16
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_or_with_some_nun():
    x = Some(2)
    y = Nun()

    assert x.or_(y) == Some(2)
コード例 #17
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_unwrap_or_with_nun():
    x = Nun()

    assert x.unwrap_or(0) == 0
コード例 #18
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_or_with_nun_some():
    x = Nun()
    y = Some(2)

    assert x.or_(y) == Some(2)
コード例 #19
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_map_with_nun():
    x = Nun()

    assert x.map(lambda y: y ** 2) == Nun()
コード例 #20
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_or_with_nun_nun():
    x = Nun()
    y = Nun()

    assert x.or_(y) == Nun()
コード例 #21
0
def test_ok_with_err():
    x = Err(Exception("error message"))

    assert x.ok() == Nun()
コード例 #22
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_or_else_with_nun():
    x = Nun()

    assert x.or_else(lambda: 5) == Some(5)
コード例 #23
0
 def fm(x):
     if x % 2 == 0:
         return Some(x**2)
     else:
         return Nun()
コード例 #24
0
ファイル: test_option.py プロジェクト: JoshKarpel/hypoxia
def test_map_or_else_with_nun():
    x = Nun()

    assert x.map_or_else(lambda y: y ** 2, lambda: 0) == 0