summaryrefslogtreecommitdiffstats
path: root/ml/dlib/tools/python/test/test_range.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-09 13:19:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-09 13:19:22 +0000
commitc21c3b0befeb46a51b6bf3758ffa30813bea0ff0 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /ml/dlib/tools/python/test/test_range.py
parentAdding upstream version 1.43.2. (diff)
downloadnetdata-c21c3b0befeb46a51b6bf3758ffa30813bea0ff0.tar.xz
netdata-c21c3b0befeb46a51b6bf3758ffa30813bea0ff0.zip
Adding upstream version 1.44.3.upstream/1.44.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ml/dlib/tools/python/test/test_range.py')
-rw-r--r--ml/dlib/tools/python/test/test_range.py97
1 files changed, 97 insertions, 0 deletions
diff --git a/ml/dlib/tools/python/test/test_range.py b/ml/dlib/tools/python/test/test_range.py
new file mode 100644
index 000000000..c881da369
--- /dev/null
+++ b/ml/dlib/tools/python/test/test_range.py
@@ -0,0 +1,97 @@
+from dlib import range, ranges, rangess
+try:
+ import cPickle as pickle # Use cPickle on Python 2.7
+except ImportError:
+ import pickle
+from pytest import raises
+
+
+def test_range():
+ r = range(0, 10)
+ assert r.begin == 0
+ assert r.end == 10
+ assert str(r) == "0, 10"
+ assert repr(r) == "dlib.range(0, 10)"
+ assert len(r) == 10
+
+ ser = pickle.dumps(r, 2)
+ deser = pickle.loads(ser)
+
+ for a, b in zip(r, deser):
+ assert a == b
+
+
+# TODO: make this init parameterization an exception?
+def test_range_wrong_order():
+ r = range(5, 0)
+ assert r.begin == 5
+ assert r.end == 0
+ assert str(r) == "5, 0"
+ assert repr(r) == "dlib.range(5, 0)"
+ assert len(r) == 0
+
+
+def test_range_with_negative_elements():
+ with raises(TypeError):
+ range(-1, 1)
+ with raises(TypeError):
+ range(1, -1)
+
+
+def test_ranges():
+ rs = ranges()
+ assert len(rs) == 0
+
+ rs.resize(5)
+ assert len(rs) == 5
+ for r in rs:
+ assert r.begin == 0
+ assert r.end == 0
+
+ rs.clear()
+ assert len(rs) == 0
+
+ rs.extend([range(1, 2), range(3, 4)])
+ assert rs[0].begin == 1
+ assert rs[0].end == 2
+ assert rs[1].begin == 3
+ assert rs[1].end == 4
+
+ ser = pickle.dumps(rs, 2)
+ deser = pickle.loads(ser)
+ assert rs == deser
+
+
+def test_rangess():
+ rss = rangess()
+ assert len(rss) == 0
+
+ rss.resize(5)
+ assert len(rss) == 5
+ for rs in rss:
+ assert len(rs) == 0
+
+ rss.clear()
+ assert len(rss) == 0
+
+ rs1 = ranges()
+ rs1.append(range(1, 2))
+ rs1.append(range(3, 4))
+
+ rs2 = ranges()
+ rs2.append(range(5, 6))
+ rs2.append(range(7, 8))
+
+ rss.extend([rs1, rs2])
+ assert rss[0][0].begin == 1
+ assert rss[0][1].begin == 3
+ assert rss[1][0].begin == 5
+ assert rss[1][1].begin == 7
+ assert rss[0][0].end == 2
+ assert rss[0][1].end == 4
+ assert rss[1][0].end == 6
+ assert rss[1][1].end == 8
+
+ ser = pickle.dumps(rss, 2)
+ deser = pickle.loads(ser)
+ assert rss == deser