-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathtest_matching.py
61 lines (54 loc) · 3.16 KB
/
test_matching.py
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import pytest
from distributed_websocket._matching import matches
def test_matches_01():
assert matches('a', {'a'})
assert matches('a', {'a', 'b'})
assert matches('a', {'a', 'b', 'c'})
assert matches('a', {'a', 'b', 'c', 'd'})
assert matches('a', {'a', 'b', 'c', 'd', 'e'})
assert matches('a', {'a', 'b', 'c', 'd', 'e', 'f'})
assert matches('a', {'a', 'b', 'c', 'd', 'e', 'f', 'g'})
assert matches('a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'})
assert matches('a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'})
assert matches('a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'})
assert matches('a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k'})
assert matches('a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'})
assert matches(
'a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'}
)
assert matches(
'a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'}
)
assert matches(
'a', {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o'}
)
def test_matches_02():
assert matches('root/sub1/sub2', {'root/sub2/sub2', 'root/sub1/sub2'})
assert matches('root/sub1/sub2', {'root/sub2/sub2', 'root/sub1/+'})
assert matches('root/sub1/sub2', {'root/sub2/sub2', 'root/#'})
assert matches('root/sub1/sub2', {'root/sub2/sub2', 'root/+/sub2'})
assert matches('root/sub1/sub2', {'root/sub2/sub2', 'root/sub1/#'})
assert matches('root/sub1/sub2', {'root/sub2/sub2', '+/sub1/sub2'})
assert matches('root/sub1/sub2', {'root/sub2/sub2', '#/sub1/sub2'})
assert not matches('root/sub1/sub2', {'root/sub2/sub2', 'root/sub1/sub3'})
assert not matches('root/sub1/sub2', {'root/sub2/sub2', 'root/sub1/sub3/#'})
assert not matches('root/sub1/sub2', {'root/sub2/sub2', 'root/+'})
assert not matches('root/sub1/sub2', {'root/sub2/sub2', '+/sub2'})
def test_matches_03():
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/sub2/sub2'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/sub2/+'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/+/+'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/#'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/+/sub2/sub2'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/+/sub2'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/sub2/#'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', '+/sub1/sub2/sub2'})
assert matches('root/sub1/sub2/sub2', {'root/sub2/sub2', '#/sub1/sub2/sub2'})
assert not matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/sub2/sub3'})
assert not matches(
'root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub1/sub2/sub3/#'}
)
assert not matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/+/+'})
assert not matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/+/sub2'})
assert not matches('root/sub1/sub2/sub2', {'root/sub2/sub2', 'root/sub2/+/sub2'})
assert not matches('root/sub1/sub2/sub2', {'root/sub2/sub2', '+/sub2/sub2'})