code: def test_uncovered_by(self):
      before = {
          1: frozenset({1, 2, 3}),
          2: frozenset({1, 2}),
          3: frozenset({3}),
      }
      after = {1: frozenset({1, 2}), 2: frozenset({1, 2})}
  
      before_copy = before.copy()
  
      assert (
          branch_and_bound._uncovered_by(before, frozenset()) == before
      )
      assert (
          branch_and_bound._uncovered_by(before, frozenset({3}))
          == after
      )
      assert before == before_copy
  
file_path: dedupe/tests/test_training.py
imports: import unittest
  import dedupe
  import dedupe.branch_and_bound
  import dedupe.training
label_desc: Use image node_id 3 for calling the TrainingTest obj's underlying member method code with example usage: obj.test_uncovered_by() without return types