def test_sum_with_default_not_used():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_sum = test_object.sum('Moof')

    assert actual_sum == sum(test_iterable)
def test_limit():
    test_iterable = [4, 3, 8, 5, 1]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    new_intermediate = test_object.limit(3)

    assert new_intermediate.list() == test_iterable[:3]
def test_reverse():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_reverse = test_object.reverse().list()

    assert actual_reverse == list(reversed(test_iterable))
def test_distinct():
    test_iterable = [4, 3, 4, 5, 1, 3, 4]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    new_intermediate = test_object.distinct()

    assert new_intermediate.list() == [4, 3, 5, 1]
def test_sort_reverse():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_sort = test_object.sort(reverse=True).list()

    assert actual_sort == sorted(test_iterable, reverse=True)
def test_last_with_default_not_used():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_last = test_object.last('Moof')

    assert actual_last == test_iterable[-1]
def test_list():
    test_iterable = [4, 3, 8, 5, 1]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_list = test_object.list()

    assert actual_list == test_iterable
def test_map():
    test_iterable = [4, 3, 8, 5, 1]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    new_intermediate = test_object.map(lambda item: item * item)

    assert new_intermediate.list() == [item * item for item in test_iterable]
def test_min_with_default_not_used():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_min = test_object.min('Moof')

    assert actual_min == min(test_iterable)
Esempio n. 10
0
def test_sum():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_sum = test_object.sum()

    assert actual_sum == sum(test_iterable)
Esempio n. 11
0
def test_min():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_min = test_object.min()

    assert actual_min == min(test_iterable)
Esempio n. 12
0
def test_count():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_count = test_object.count()

    assert actual_count == len(test_iterable)
Esempio n. 13
0
def test_all_match_false():
    test_iterable = [4, 3, 27, 5, 1]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_match = test_object.all_match(lambda item: item < 26)

    assert actual_match is False
Esempio n. 14
0
def test_any_match_false():
    test_iterable = [4, 3, 8, 5, 1]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    test_value = 26
    actual_match = test_object.any_match(lambda item: item == test_value)

    assert actual_match == (test_value in test_iterable)
Esempio n. 15
0
def test_first_with_default():
    test_iterable = []
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)
    test_default = 'Moof'

    actual_first = test_object.first(test_default)

    assert actual_first == test_default
Esempio n. 16
0
def test_sum_with_default():
    test_iterable = ['D', 'o', 'g', 'C', 'o', 'w']
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)
    test_default = 'Moof'

    actual_sum = test_object.sum(test_default)

    assert actual_sum == test_default
Esempio n. 17
0
def test_max_with_default():
    test_iterable = []
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)
    test_default = 'Moof'

    actual_max = test_object.max(test_default)

    assert actual_max == test_default
Esempio n. 18
0
def test_none_match_true():
    test_iterable = [4, 3, 8, 5, 1]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    test_value = 26
    actual_none_match = test_object.none_match(lambda item: item == test_value)

    assert actual_none_match == (test_value not in test_iterable)
Esempio n. 19
0
def from_iterable(iterable):
    """
    Starts the iterator chain with the supplied iterable.  Chaining and terminating methods can now be called on the result.

    :param iterable: An iterable to be used in the iterator chain.
    :return: An intermediate object that subsequent chaining and terminating methods can be called on.
    """
    iterator = iter(iterable)
    return _IntermediateIteratorChain(iterator)
Esempio n. 20
0
def test_reduce():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_reduction = test_object.reduce(lambda first, second: first * second)

    assert actual_reduction == test_iterable[0] * test_iterable[
        1] * test_iterable[2] * test_iterable[3] * test_iterable[4]
Esempio n. 21
0
def test_for_each():
    test_iterable = [4, 3, 8, 5, 6]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)
    test_call = []
    test_lambda = lambda item: test_call.append(item)

    test_object.for_each(test_lambda)

    assert test_call == test_iterable
Esempio n. 22
0
def test_flatten():
    test_iterable = [[4, 3], 'DogCow', 5, {'dogCow': 'Moof', 'meep': 'moop'}]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)

    actual_flatten = test_object.flatten().list()

    assert actual_flatten == [
        4, 3, 'DogCow', 5, ('dogCow', 'Moof'), ('meep', 'moop')
    ]
Esempio n. 23
0
def test_filter():
    test_iterable = [4, 3, 8, 5, 1]
    test_iterator = iter(test_iterable)
    test_object = _IntermediateIteratorChain(test_iterator)
    test_lambda = lambda item: item > 4

    new_intermediate = test_object.filter(test_lambda)

    assert new_intermediate.list() == list(filter(test_lambda,
                                                  [4, 3, 8, 5, 1]))
def test_all_match_false():
    test_iterable = [4, 3, 27, 5, 1]
    test_serial_iterator = iter(test_iterable)
    test_parallel_iterator = iter(test_iterable)
    test_serial_object = _IntermediateIteratorChain(test_serial_iterator)
    test_parallel_object = _IntermediateParallelIteratorChain(
        test_parallel_iterator, SerialExecutor())

    serial_value = test_serial_object.all_match(lambda item: item < 26)
    parallel_value = test_parallel_object.all_match(lambda item: item < 26)

    assert parallel_value == serial_value
def test_sum():
    test_iterable = [4, 3, 8, 5, 6]
    test_serial_iterator = iter(test_iterable)
    test_parallel_iterator = iter(test_iterable)
    test_serial_object = _IntermediateIteratorChain(test_serial_iterator)
    test_parallel_object = _IntermediateParallelIteratorChain(
        test_parallel_iterator, SerialExecutor())

    serial_value = test_serial_object.sum()
    parallel_value = test_parallel_object.sum()

    assert parallel_value == serial_value
def test_reverse():
    test_iterable = [4, 3, 8, 5, 6]
    test_serial_iterator = iter(test_iterable)
    test_parallel_iterator = iter(test_iterable)
    test_serial_object = _IntermediateIteratorChain(test_serial_iterator)
    test_parallel_object = _IntermediateParallelIteratorChain(
        test_parallel_iterator, SerialExecutor())

    new_serial_intermediate = test_serial_object.reverse()
    new_parallel_intermediate = test_parallel_object.reverse()

    assert new_parallel_intermediate.list() == new_serial_intermediate.list()
def test_flatten():
    test_iterable = [[4, 3], 'DogCow', 5, {'dogCow': 'Moof', 'meep': 'moop'}]
    test_serial_iterator = iter(test_iterable)
    test_parallel_iterator = iter(test_iterable)
    test_serial_object = _IntermediateIteratorChain(test_serial_iterator)
    test_parallel_object = _IntermediateParallelIteratorChain(
        test_parallel_iterator, SerialExecutor())

    new_serial_intermediate = test_serial_object.flatten()
    new_parallel_intermediate = test_parallel_object.flatten()

    assert new_parallel_intermediate.list() == new_serial_intermediate.list()
def test_distinct():
    test_iterable = [4, 3, 4, 5, 1, 3, 4]
    test_serial_iterator = iter(test_iterable)
    test_parallel_iterator = iter(test_iterable)
    test_serial_object = _IntermediateIteratorChain(test_serial_iterator)
    test_parallel_object = _IntermediateParallelIteratorChain(
        test_parallel_iterator, SerialExecutor())

    new_serial_intermediate = test_serial_object.distinct()
    new_parallel_intermediate = test_parallel_object.distinct()

    assert new_parallel_intermediate.list() == new_serial_intermediate.list()
def test_sum_default_not_used():
    test_iterable = [4, 3, 8, 5, 6]
    test_serial_iterator = iter(test_iterable)
    test_parallel_iterator = iter(test_iterable)
    test_serial_object = _IntermediateIteratorChain(test_serial_iterator)
    test_parallel_object = _IntermediateParallelIteratorChain(
        test_parallel_iterator, SerialExecutor())
    test_default = 'Moof'

    serial_value = test_serial_object.sum(default=test_default)
    parallel_value = test_parallel_object.sum(default=test_default)

    assert parallel_value == serial_value
def test_sum_with_default():
    test_iterable = ['D', 'o', 'g', 'C', 'o', 'w']
    test_serial_iterator = iter(test_iterable)
    test_parallel_iterator = iter(test_iterable)
    test_serial_object = _IntermediateIteratorChain(test_serial_iterator)
    test_parallel_object = _IntermediateParallelIteratorChain(
        test_parallel_iterator, SerialExecutor())
    test_default = 'Moof'

    serial_value = test_serial_object.sum(default=test_default)
    parallel_value = test_parallel_object.sum(default=test_default)

    assert parallel_value == serial_value