code: def test_overwrite(self):
      p = Pipeline()
      f = SomeFactor()
      other_f = SomeOtherFactor()
  
      p.add(f, "f")
      self.assertEqual(p.columns, {"f": f})
  
      with self.assertRaises(KeyError) as e:
          p.add(other_f, "f")
      [message] = e.exception.args
      self.assertEqual(message, "Column 'f' already exists.")
  
      p.add(other_f, "f", overwrite=True)
      self.assertEqual(p.columns, {"f": other_f})
  
imports: import inspect
  from unittest import TestCase
  from mock import patch
  from catalyst.pipeline import Factor, Filter, Pipeline
  from catalyst.pipeline.data import USEquityPricing
  from catalyst.pipeline.graph import display_graph
  from catalyst.utils.numpy_utils import float64_dtype
label_desc: Use image node_id 4 for calling the PipelineTestCase obj's underlying member method code with example usage: obj.test_overwrite() without return types