Esempio n. 1
0
def test_partition_before():
    assert functional.partition_before(functional.equals(1), []) == ()
    assert (tuple(
        functional.partition_before(
            functional.equals(1),
            [3, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1],
        ), ) == ((3, ), (1, ), (1, 2, 2), (1, ), (1, 2), (1, ), (1, ), (1, )))
Esempio n. 2
0
def test_partition_after():
    assert functional.partition_after(functional.equals(1), []) == ()
    assert (tuple(
        functional.partition_after(
            functional.equals(1),
            [1, 1, 2, 2, 1, 1, 2, 1, 1, 1],
        ), ) == ((1, ), (1, ), (2, 2, 1), (1, ), (2, 1), (1, ), (1, )))
Esempio n. 3
0
async def test_drop_last_while():
    assert tuple(functional.drop_last_while(functional.equals(1), [])) == ()
    assert tuple(functional.drop_last_while(functional.equals(1), [1])) == ()
    assert tuple(functional.drop_last_while(functional.equals(1),
                                            [2])) == (2, )
    assert (tuple(
        functional.drop_last_while(
            functional.equals(1),
            [1, 1, 2, 2, 1, 1, 2, 1, 1, 1],
        ), ) == (1, 1, 2, 2, 1, 1, 2))
Esempio n. 4
0
def test_latency():
    start_time = time.time()
    for _ in range(1000):
        functional_generic.pipe(
            True,
            functional_generic.juxt(functional.equals(True),
                                    functional.equals(False)),
            functional.head,
            functional.just("bla"),
            functional.attrgetter("lower"),
        )
    assert time.time() - start_time < 0.1
Esempio n. 5
0
def test_find_index():
    seq = ({"key": 1}, {"key": 2}, {"key": 3}, {"key": 2})

    assert (functional_generic.find_index(
        functional_generic.compose_left(
            dict_utils.itemgetter("key"),
            functional.equals(2),
        ), )(iter(seq)) == 1)

    assert (functional_generic.find_index(
        functional_generic.compose_left(
            dict_utils.itemgetter("key"),
            functional.equals(4),
        ), )(iter(seq)) == -1)
Esempio n. 6
0
def test_assert_that():
    functional.assert_that(functional.equals(2))(2)
Esempio n. 7
0
async def test_unless2():
    assert functional_generic.unless(functional.equals(1),
                                     functional.just(True))(2)
Esempio n. 8
0
#: that returns True when used with the the given function. If no element
#  in the iterable returns True, -1 is returned.
#:
#:    >>> f = find(gamla.greater_than(10))
#:    >>> f([1, 2, 3, 11, 12, 13])
#:    11
#:    >>> f([1, 2, 3])
#:    -1
#:
#: See Also:
#:   - find
find_index = compose_left(
    before(functional.second),
    find,
    before(enumerate),
    after(ternary(functional.equals(None), functional.just(-1), functional.head)),
)


def countby_many(f):
    """Count elements of a collection by a function which returns a tuple of keys
    for single element.

    Parameters:
    f (Callable): Key function (given object in collection outputs tuple of keys).
    it (Iterable): Collection.

    Returns:
    Dict[Text, Any]: Dictionary where key has been computed by the `f` key function
    and value is the frequency of this key.
Esempio n. 9
0
def test_get_leaves_by_ancestor_predicate():
    fn = tree.get_leaves_by_ancestor_predicate(functional.equals("x"))
    assert fn({"x": {"t": ("1")}}) == ("1", )