summaryrefslogtreecommitdiff
path: root/tests/test_numbits.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2023-01-05 08:07:17 -0500
committerNed Batchelder <ned@nedbatchelder.com>2023-01-05 12:55:18 -0500
commitd4339ee90c3146f370d572cbb1b9ab9907daafad (patch)
tree8f543dcd9577c3b3b7b78ff85c055c228e5ee704 /tests/test_numbits.py
parent8ff3c6dfe6207dc79ed7be5105675d2f08725b76 (diff)
downloadpython-coveragepy-git-d4339ee90c3146f370d572cbb1b9ab9907daafad.tar.gz
mypy: test_goldtest.py test_json.py test_lcov.py test_mixins.py test_numbits.py test_oddball.py
Diffstat (limited to 'tests/test_numbits.py')
-rw-r--r--tests/test_numbits.py28
1 files changed, 16 insertions, 12 deletions
diff --git a/tests/test_numbits.py b/tests/test_numbits.py
index 39cb93f6..ba6d8ec2 100644
--- a/tests/test_numbits.py
+++ b/tests/test_numbits.py
@@ -3,9 +3,13 @@
"""Tests for coverage.numbits"""
+from __future__ import annotations
+
import json
import sqlite3
+from typing import Iterable, Set
+
from hypothesis import example, given, settings
from hypothesis.strategies import sets, integers
@@ -29,7 +33,7 @@ if env.METACOV:
default_settings = settings(default_settings, deadline=None)
-def good_numbits(numbits):
+def good_numbits(numbits: bytes) -> None:
"""Assert that numbits is good."""
# It shouldn't end with a zero byte, that should have been trimmed off.
assert (not numbits) or (numbits[-1] != 0)
@@ -42,7 +46,7 @@ class NumbitsOpTest(CoverageTest):
@given(line_number_sets)
@settings(default_settings)
- def test_conversion(self, nums):
+ def test_conversion(self, nums: Iterable[int]) -> None:
numbits = nums_to_numbits(nums)
good_numbits(numbits)
nums2 = numbits_to_nums(numbits)
@@ -50,7 +54,7 @@ class NumbitsOpTest(CoverageTest):
@given(line_number_sets, line_number_sets)
@settings(default_settings)
- def test_union(self, nums1, nums2):
+ def test_union(self, nums1: Set[int], nums2: Set[int]) -> None:
nb1 = nums_to_numbits(nums1)
good_numbits(nb1)
nb2 = nums_to_numbits(nums2)
@@ -62,7 +66,7 @@ class NumbitsOpTest(CoverageTest):
@given(line_number_sets, line_number_sets)
@settings(default_settings)
- def test_intersection(self, nums1, nums2):
+ def test_intersection(self, nums1: Set[int], nums2: Set[int]) -> None:
nb1 = nums_to_numbits(nums1)
good_numbits(nb1)
nb2 = nums_to_numbits(nums2)
@@ -74,7 +78,7 @@ class NumbitsOpTest(CoverageTest):
@given(line_number_sets, line_number_sets)
@settings(default_settings)
- def test_any_intersection(self, nums1, nums2):
+ def test_any_intersection(self, nums1: Set[int], nums2: Set[int]) -> None:
nb1 = nums_to_numbits(nums1)
good_numbits(nb1)
nb2 = nums_to_numbits(nums2)
@@ -86,7 +90,7 @@ class NumbitsOpTest(CoverageTest):
@given(line_numbers, line_number_sets)
@settings(default_settings)
@example(152, {144})
- def test_num_in_numbits(self, num, nums):
+ def test_num_in_numbits(self, num: int, nums: Iterable[int]) -> None:
numbits = nums_to_numbits(nums)
good_numbits(numbits)
is_in = num_in_numbits(num, numbits)
@@ -98,7 +102,7 @@ class NumbitsSqliteFunctionTest(CoverageTest):
run_in_temp_dir = False
- def setUp(self):
+ def setUp(self) -> None:
super().setUp()
conn = sqlite3.connect(":memory:")
register_sqlite_functions(conn)
@@ -113,7 +117,7 @@ class NumbitsSqliteFunctionTest(CoverageTest):
)
self.addCleanup(self.cursor.close)
- def test_numbits_union(self):
+ def test_numbits_union(self) -> None:
res = self.cursor.execute(
"select numbits_union(" +
"(select numbits from data where id = 7)," +
@@ -127,7 +131,7 @@ class NumbitsSqliteFunctionTest(CoverageTest):
answer = numbits_to_nums(list(res)[0][0])
assert expected == answer
- def test_numbits_intersection(self):
+ def test_numbits_intersection(self) -> None:
res = self.cursor.execute(
"select numbits_intersection(" +
"(select numbits from data where id = 7)," +
@@ -137,7 +141,7 @@ class NumbitsSqliteFunctionTest(CoverageTest):
answer = numbits_to_nums(list(res)[0][0])
assert [63] == answer
- def test_numbits_any_intersection(self):
+ def test_numbits_any_intersection(self) -> None:
res = self.cursor.execute(
"select numbits_any_intersection(?, ?)",
(nums_to_numbits([1, 2, 3]), nums_to_numbits([3, 4, 5]))
@@ -152,11 +156,11 @@ class NumbitsSqliteFunctionTest(CoverageTest):
answer = [any_inter for (any_inter,) in res]
assert [0] == answer
- def test_num_in_numbits(self):
+ def test_num_in_numbits(self) -> None:
res = self.cursor.execute("select id, num_in_numbits(12, numbits) from data order by id")
answer = [is_in for (id, is_in) in res]
assert [1, 1, 1, 1, 0, 1, 0, 0, 0, 0] == answer
- def test_numbits_to_nums(self):
+ def test_numbits_to_nums(self) -> None:
res = self.cursor.execute("select numbits_to_nums(?)", [nums_to_numbits([1, 2, 3])])
assert [1, 2, 3] == json.loads(res.fetchone()[0])