File: test_functional.py

package info (click to toggle)
knot-resolver 6.0.17-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,376 kB
  • sloc: javascript: 42,732; ansic: 40,311; python: 12,580; cpp: 2,121; sh: 1,988; xml: 193; makefile: 181
file content (22 lines) | stat: -rw-r--r-- 611 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from knot_resolver.utils.functional import all_matches, contains_element_matching, foldl


def test_foldl():
    lst = list(range(10))

    assert foldl(lambda x, y: x + y, 0, lst) == sum(range(10))
    assert foldl(lambda x, y: x + y, 55, lst) == sum(range(10)) + 55


def test_containsElementMatching():
    lst = list(range(10))

    assert contains_element_matching(lambda e: e == 5, lst)
    assert not contains_element_matching(lambda e: e == 11, lst)


def test_matches_all():
    lst = list(range(10))

    assert all_matches(lambda x: x >= 0, lst)
    assert not all_matches(lambda x: x % 2 == 0, lst)