-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_common.py
More file actions
32 lines (28 loc) · 1.74 KB
/
test_common.py
File metadata and controls
32 lines (28 loc) · 1.74 KB
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
import unittest
import common
class TestIsMetricallyPermissible(unittest.TestCase):
def test_invalid_sedes(self):
for sedes in (0, 0.5, 1.1, 13.5):
with self.assertRaises(ValueError, msg = sedes):
common.is_metrically_permissible("", sedes)
def test_invalid_shape(self):
for shape in ("a", "b", "-+"):
with self.assertRaises(KeyError):
common.is_metrically_permissible(shape, 1)
def test(self):
F = False
T = True
for shape, cases in (
# 1 2 2.5 3 4 4.5 5 6 6.5 7 8 8.5 9 10 10.5 11 12 13
( "", (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)),
( "⏑", (F, T, T, F, T, T, F, T, T, F, T, T, F, T, T, F, F, F)),
( "–", (T, T, F, T, T, F, T, T, F, T, T, F, T, T, F, T, T, F)),
( "⏑⏑", (F, T, F, F, T, F, F, T, F, F, T, F, F, T, F, F, F, F)),
( "––", (T, T, F, T, T, F, T, T, F, T, T, F, T, T, F, T, F, F)),
( "⏑–⏑", (F, F, T, F, F, T, F, F, T, F, F, T, F, F, F, F, F, F)),
( "–⏑–", (F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F)),
("–––⏑⏑––", (T, F, F, T, F, F, T, F, F, T, F, F, F, F, F, F, F, F)),
("–––⏑⏑–⏑", (T, F, F, T, F, F, T, F, F, F, F, F, F, F, F, F, F, F)),
):
for sedes, expected in zip(map(float, common.KNOWN_SEDES + ("13",)), cases):
self.assertEqual(common.is_metrically_permissible(shape, sedes), expected, (shape, sedes))