old_contents: # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
  # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
  
  """Tests for coverage.numbits"""
  
  from hypothesis import given, settings
  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_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
  # run succeeds.  Disable the deadline if we are coverage-testing.
  default_settings = settings()
  if env.METACOV:
      default_settings = settings(default_settings, deadline=None)
  
  
  class NumbitsOpTest(CoverageTest):
      """Tests of the numbits operations in numbits.py."""
  
      run_in_temp_dir = False
  
      @given(line_numbers)
      @settings(default_settings)
      def test_conversion(self, nums):
          nums2 = numbits_to_nums(nums_to_numbits(nums))
          self.assertEqual(nums, set(nums2))
  
      @given(line_numbers, line_numbers)
      @settings(default_settings)
      def test_merging(self, nums1, nums2):
          merged = numbits_to_nums(merge_numbits(nums_to_numbits(nums1), nums_to_numbits(nums2)))
          self.assertEqual(nums1 | nums2, set(merged))
  
      @given(line_numbers, line_numbers)
      @settings(default_settings)
      def test_any_intersection(self, nums1, nums2):
          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)
  
new_contents: # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
  # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
  
  """Tests for coverage.numbits"""
  
  from hypothesis import given, settings
  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 = integers(min_value=1, max_value=9999)
  line_number_sets = sets(line_numbers, 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
  # run succeeds.  Disable the deadline if we are coverage-testing.
  default_settings = settings()
  if env.METACOV:
      default_settings = settings(default_settings, deadline=None)
  
  
  class NumbitsOpTest(CoverageTest):
      """Tests of the numbits operations in numbits.py."""
  
      run_in_temp_dir = False
  
      @given(line_number_sets)
      @settings(default_settings)
      def test_conversion(self, nums):
          nums2 = numbits_to_nums(nums_to_numbits(nums))
          self.assertEqual(nums, set(nums2))
  
      @given(line_number_sets, line_number_sets)
      @settings(default_settings)
      def test_merging(self, nums1, nums2):
          merged = numbits_to_nums(merge_numbits(nums_to_numbits(nums1), nums_to_numbits(nums2)))
          self.assertEqual(nums1 | nums2, set(merged))
  
      @given(line_number_sets, line_number_sets)
      @settings(default_settings)
      def test_any_intersection(self, nums1, nums2):
          inter = numbits_any_intersection(nums_to_numbits(nums1), nums_to_numbits(nums2))
          expect = bool(nums1 & nums2)
          self.assertEqual(expect, bool(inter))
  
      @given(line_numbers, line_number_sets)
      @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)
  
subject: Use more conventional strategy naming