From 6464327e6f41282109c671b6b5159fc2a2b5e5c7 Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 14 Apr 2019 17:59:55 +0200 Subject: [PATCH] tests: add more thorough unit test for SparseArray::clear_range --- tests/putil/test_sparsearray.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/putil/test_sparsearray.py b/tests/putil/test_sparsearray.py index ae6d5208b5..b7767d6e8a 100644 --- a/tests/putil/test_sparsearray.py +++ b/tests/putil/test_sparsearray.py @@ -35,7 +35,22 @@ def test_sparse_array_clear(): def test_sparse_array_clear_range(): - """Tests SparseArray behavior for clear_range().""" + # Not using parametrize because there are too many values for that. + for mask in range(0x7f): + for begin in range(8): + for size in range(8): + b = core.BitArray(mask) + s = core.SparseArray(b) + + s.clear_range(begin, size) + b.clear_range(begin, size) + + assert core.BitArray(s) == b + assert s == core.SparseArray(b) + + +def test_sparse_array_set_clear_ranges(): + """Tests SparseArray behavior for setting and clearing ranges.""" # test clear_range with single overlapping on-range # (clear_range extends beyond highest on-bit)