code: def test_construction_bad_input_types(self):
      with self.assertRaises(TypeError):
          Pipeline(1)
  
      Pipeline({})
  
      with self.assertRaises(TypeError):
          Pipeline({}, 1)
  
      with self.assertRaises(TypeError):
          Pipeline({}, SomeFactor())
  
      with self.assertRaises(TypeError):
          Pipeline({"open": USEquityPricing.open})
  
      Pipeline({}, SomeFactor() > 5)
  
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 2 for calling the PipelineTestCase obj's underlying member method code with example usage: obj.test_construction_bad_input_types() without return types