Exemplo n.º 1
0
def test_ne__different_lists_same_length__returns_true() -> None:
    list1 = List([1, 2, 3])
    list2 = List([3, 2, 1])

    result = list1 != list2

    assert result
Exemplo n.º 2
0
def test_eq__equal_lists__returns_true() -> None:
    list1 = List([1, 2, 3])
    list2 = List([1, 2, 3])

    result = list1 == list2

    assert result
Exemplo n.º 3
0
def test_ne__equal_lists_returns__false() -> None:
    list1 = List([1, 2, 3])
    list2 = List([1, 2, 3])

    result = list1 != list2

    assert not result
Exemplo n.º 4
0
def test_eq__different_lists_same_length__returns_false() -> None:
    list1 = List([1, 2, 3])
    list2 = List([3, 2, 1])

    result = list1 == list2

    assert not result
Exemplo n.º 5
0
def test_remove__not_existing_element__returns_same_list() -> None:
    old_list = List([11, 22, 33])

    with raises(ValueError) as e:
        old_list.remove(99)

    assert str(e.value) == '99 not in list'
Exemplo n.º 6
0
def test_remove__element__not_contain_element() -> None:
    old_list = List([11, 22, 33])

    new_list = old_list.remove(22)

    assert 22 not in new_list
    assert len(new_list) == len(old_list) - 1
Exemplo n.º 7
0
def test_add__element__contains_new_element() -> None:
    old_list = List([11, 22, 33])

    new_list = old_list.add(44)

    assert 44 in new_list
    assert list(new_list).index(44) == 3
    assert len(new_list) == len(old_list) + 1
Exemplo n.º 8
0
def test_lazy_reduce() -> None:
    lazy_number_1 = Mock(return_value=11)
    lazy_number_2 = Mock(return_value=22)
    lazy_number_3 = Mock(return_value=33)
    numbers = List([
        lazy_number_1,
        lazy_number_2,
        lazy_number_3,
    ])

    def lazy_add(number1: int, number2: Callable[[], int]) -> int:
        return number1 + number2()

    result = lazy_reduce(lazy_add, numbers)

    assert result == 66
    lazy_number_1.assert_called_once()
    lazy_number_2.assert_called_once()
    lazy_number_3.assert_called_once()