diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:19:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:20:02 +0000 |
commit | 58daab21cd043e1dc37024a7f99b396788372918 (patch) | |
tree | 96771e43bb69f7c1c2b0b4f7374cb74d7866d0cb /ml/dlib/tools/python/test/test_range.py | |
parent | Releasing debian version 1.43.2-1. (diff) | |
download | netdata-58daab21cd043e1dc37024a7f99b396788372918.tar.xz netdata-58daab21cd043e1dc37024a7f99b396788372918.zip |
Merging upstream version 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.py | 97 |
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 |