Skip to content

Commit 5287065

Browse files
committed
[test/util] Add format_cardinality test
1 parent 5428a92 commit 5287065

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

test/test_util.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
"""
2+
This file tests odml util functions.
3+
"""
4+
5+
import unittest
6+
7+
from odml.util import format_cardinality
8+
9+
10+
class TestUtil(unittest.TestCase):
11+
12+
def test_format_cardinality(self):
13+
# Test empty set
14+
self.assertIsNone(format_cardinality(None))
15+
self.assertIsNone(format_cardinality([]))
16+
self.assertIsNone(format_cardinality({}))
17+
self.assertIsNone(format_cardinality(""))
18+
self.assertIsNone(format_cardinality(()))
19+
self.assertIsNone(format_cardinality((None, None)))
20+
21+
# Test single int max set
22+
self.assertEqual(format_cardinality(10), (None, 10))
23+
24+
# Test tuple set
25+
set_val = (2, None)
26+
self.assertEqual(format_cardinality(set_val), set_val)
27+
set_val = (None, 2)
28+
self.assertEqual(format_cardinality(set_val), set_val)
29+
set_val = (2, 3)
30+
self.assertEqual(format_cardinality(set_val), set_val)
31+
32+
# Test set failures
33+
with self.assertRaises(ValueError):
34+
format_cardinality("a")
35+
36+
with self.assertRaises(ValueError):
37+
format_cardinality(-1)
38+
39+
with self.assertRaises(ValueError):
40+
format_cardinality((1, "b"))
41+
42+
with self.assertRaises(ValueError):
43+
format_cardinality((1, 2, 3))
44+
45+
with self.assertRaises(ValueError):
46+
format_cardinality((-1, 1))
47+
48+
with self.assertRaises(ValueError):
49+
format_cardinality((1, -5))
50+
51+
with self.assertRaises(ValueError) as exc:
52+
format_cardinality((5, 1))
53+
self.assertIn("Minimum larger than maximum ", str(exc))

0 commit comments

Comments
 (0)