text: import unittest
  from test import support
  from io import StringIO
  import pstats
  
  
  
  class AddCallersTestCase(unittest.TestCase):
      """Tests for pstats.add_callers helper."""
  
      def test_combine_results(self):
          # pstats.add_callers should combine the call results of both target
          # and source by adding the call time. See issue1269.
          # new format: used by the cProfile module
          target = {"a": (1, 2, 3, 4)}
          source = {"a": (1, 2, 3, 4), "b": (5, 6, 7, 8)}
          new_callers = pstats.add_callers(target, source)
          self.assertEqual(new_callers, {'a': (2, 4, 6, 8), 'b': (5, 6, 7, 8)})
          # old format: used by the profile module
          target = {"a": 1}
          source = {"a": 1, "b": 5}
          new_callers = pstats.add_callers(target, source)
          self.assertEqual(new_callers, {'a': 2, 'b': 5})
  
  
  class StatsTestCase(unittest.TestCase):
      def setUp(self):
          stats_file = support.findfile('pstats.pck')
          self.stats = pstats.Stats(stats_file)
  
      def test_add(self):
          stream = StringIO()
          stats = pstats.Stats(stream=stream)
          stats.add(self.stats, self.stats)
  
  
  if __name__ == "__main__":
      unittest.main()
  