File: classifyTools_test.py

package info (click to toggle)
fonttools 4.61.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,584 kB
  • sloc: python: 145,091; xml: 103; makefile: 24
file content (33 lines) | stat: -rw-r--r-- 1,429 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from fontTools.misc.classifyTools import classify


def test_classify():
    assert classify([]) == ([], {})
    assert classify([[]]) == ([], {})
    assert classify([[], []]) == ([], {})
    assert classify([[1]]) == ([{1}], {1: {1}})
    assert classify([[1, 2]]) == ([{1, 2}], {1: {1, 2}, 2: {1, 2}})
    assert classify([[1], [2]]) == ([{1}, {2}], {1: {1}, 2: {2}})
    assert classify([[1, 2], [2]]) == ([{1}, {2}], {1: {1}, 2: {2}})
    assert classify([[1, 2], [2, 4]]) == ([{1}, {2}, {4}], {1: {1}, 2: {2}, 4: {4}})
    assert classify([[1, 2], [2, 4, 5]]) == (
        [{4, 5}, {1}, {2}],
        {1: {1}, 2: {2}, 4: {4, 5}, 5: {4, 5}},
    )
    assert classify([[1, 2], [2, 4, 5]], sort=False) == (
        [{1}, {4, 5}, {2}],
        {1: {1}, 2: {2}, 4: {4, 5}, 5: {4, 5}},
    )
    assert classify([[1, 2, 9], [2, 4, 5]], sort=False) == (
        [{1, 9}, {4, 5}, {2}],
        {1: {1, 9}, 2: {2}, 4: {4, 5}, 5: {4, 5}, 9: {1, 9}},
    )
    assert classify([[1, 2, 9, 15], [2, 4, 5]], sort=False) == (
        [{1, 9, 15}, {4, 5}, {2}],
        {1: {1, 9, 15}, 2: {2}, 4: {4, 5}, 5: {4, 5}, 9: {1, 9, 15}, 15: {1, 9, 15}},
    )
    classes, mapping = classify([[1, 2, 9, 15], [2, 4, 5], [15, 5]], sort=False)
    assert set([frozenset(c) for c in classes]) == set(
        [frozenset(s) for s in ({1, 9}, {4}, {2}, {5}, {15})]
    )
    assert mapping == {1: {1, 9}, 2: {2}, 4: {4}, 5: {5}, 9: {1, 9}, 15: {15}}