summaryrefslogtreecommitdiff
path: root/tests/test_numbits.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2019-08-01 09:42:54 -0400
committerNed Batchelder <ned@nedbatchelder.com>2019-08-01 09:42:54 -0400
commita361ff3897736917544da1a4e28d8db6457f0fcc (patch)
treecdbee5c982a527dd89974ac38feb41fbc063b00f /tests/test_numbits.py
parent79111b14cd70bbfd75555bb819c6dbdc25a543aa (diff)
downloadpython-coveragepy-git-a361ff3897736917544da1a4e28d8db6457f0fcc.tar.gz
Add num_in_numbits
Diffstat (limited to 'tests/test_numbits.py')
-rw-r--r--tests/test_numbits.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/test_numbits.py b/tests/test_numbits.py
index 4a835c4f..f4e52997 100644
--- a/tests/test_numbits.py
+++ b/tests/test_numbits.py
@@ -9,12 +9,14 @@ from hypothesis.strategies import sets, integers
from coverage import env
from coverage.numbits import (
nums_to_numbits, numbits_to_nums, merge_numbits, numbits_any_intersection,
+ num_in_numbits,
)
from tests.coveragetest import CoverageTest
# Hypothesis-generated line number data
-line_numbers = sets(integers(min_value=1, max_value=9999), min_size=1)
+line_number = integers(min_value=1, max_value=9999)
+line_numbers = sets(line_number, min_size=1)
# When coverage-testing ourselves, hypothesis complains about a test being
# flaky because the first run exceeds the deadline (and fails), and the second
@@ -47,3 +49,10 @@ class NumbitsOpTest(CoverageTest):
inter = numbits_any_intersection(nums_to_numbits(nums1), nums_to_numbits(nums2))
expect = bool(nums1 & nums2)
self.assertEqual(expect, bool(inter))
+
+ @given(line_number, line_numbers)
+ @settings(default_settings)
+ def test_num_in_numbits(self, num, nums):
+ numbits = nums_to_numbits(nums)
+ is_in = num_in_numbits(num, numbits)
+ self.assertEqual(num in nums, is_in)