code: def test_set_screen(self):
      f, g = SomeFilter(), SomeOtherFilter()
  
      p = Pipeline()
      self.assertEqual(p.screen, None)
  
      p.set_screen(f)
      self.assertEqual(p.screen, f)
  
      with self.assertRaises(ValueError):
          p.set_screen(f)
  
      p.set_screen(g, overwrite=True)
      self.assertEqual(p.screen, g)
  
      with self.assertRaises(TypeError) as e:
          p.set_screen(f, g)
  
      message = e.exception.args[0]
      self.assertIn(
          "expected a value of type bool or int for argument 'overwrite'",
          message,
      )
  
imports: from unittest import TestCase
  from mock import patch
  from six import PY2
  from zipline.pipeline import Factor, Filter, Pipeline
  from zipline.pipeline.data import Column, DataSet, USEquityPricing
  from zipline.pipeline.domain import AmbiguousDomain, CA_EQUITIES, GENERIC, GB_EQUITIES, US_EQUITIES
  from zipline.pipeline.graph import display_graph
  from zipline.utils.compat import getargspec
  from zipline.utils.numpy_utils import float64_dtype
label_desc: Use image node_id 6 for calling the PipelineTestCase obj's underlying member method code with example usage: obj.test_set_screen() without return types