code: def testAddRun(self):
      x = event_multiplexer.EventMultiplexer()
      x.AddRun("run1_path", "run1")
      run1 = x.GetAccumulator("run1")
      self.assertEqual(sorted(x.Runs().keys()), ["run1"])
      self.assertEqual(run1._path, "run1_path")
  
      x.AddRun("run1_path", "run1")
      self.assertEqual(
          run1, x.GetAccumulator("run1"), "loader not recreated"
      )
  
      x.AddRun("run2_path", "run1")
      new_run1 = x.GetAccumulator("run1")
      self.assertEqual(new_run1._path, "run2_path")
      self.assertNotEqual(run1, new_run1)
  
      x.AddRun("runName3")
      self.assertCountEqual(
          sorted(x.Runs().keys()), ["run1", "runName3"]
      )
      self.assertEqual(x.GetAccumulator("runName3")._path, "runName3")
  
imports: import os
  import os.path
  import shutil
  import tensorflow
  from tensorboard.backend.event_processing import event_accumulator
  from tensorboard.backend.event_processing import event_multiplexer
label_desc: Use image node_id 16 for calling the EventMultiplexerTest obj's underlying member method code with example usage: obj.testAddRun() without return types