code: def test_construction(self):
      p0 = Pipeline()
      self.assertEqual(p0.columns, {})
      self.assertIs(p0.screen, None)
  
      columns = {"f": SomeFactor()}
      p1 = Pipeline(columns=columns)
      self.assertEqual(p1.columns, columns)
  
      screen = SomeFilter()
      p2 = Pipeline(screen=screen)
      self.assertEqual(p2.columns, {})
      self.assertEqual(p2.screen, screen)
  
      p3 = Pipeline(columns=columns, screen=screen)
      self.assertEqual(p3.columns, columns)
      self.assertEqual(p3.screen, screen)
  
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 1 for calling the PipelineTestCase obj's underlying member method code with example usage: obj.test_construction() without return types