code: def test_bts_after_session(self):
      clock = MinuteSimulationClock(
          self.sessions,
          self.opens,
          self.closes,
          days_at_time(self.sessions, time(19, 5), "US/Eastern"),
          False,
      )
  
      all_events = list(clock)
  
      # since 19:05 Eastern is after the NYSE is closed, we don't emit
      # BEFORE_TRADING_START.  therefore, each day has SESSION_START,
      # 390 BARs, and then SESSION_END
  
      def _check_session_bts_after(session_label, events):
          minutes = self.nyse_calendar.minutes_for_session(
              session_label
          )
  
          self.assertEqual(392, len(events))
          self.assertEqual(events[0], (session_label, SESSION_START))
  
          for i in range(1, 391):
              self.assertEqual(events[i], (minutes[i - 1], BAR))
  
          self.assertEqual(events[-1], (minutes[389], SESSION_END))
  
      for i in range(0, 2):
          _check_session_bts_after(
              self.sessions[i], all_events[(i * 392) : ((i + 1) * 392)]
          )
  
file_path: catalyst/tests/test_clock.py
imports: from datetime import time
  from unittest import TestCase
  import pandas
  from catalyst.gens.sim_engine import MinuteSimulationClock, SESSION_START, BEFORE_TRADING_START_BAR, BAR, SESSION_END
  from catalyst.utils.calendars import get_calendar
  from catalyst.utils.calendars.trading_calendar import days_at_time
label_desc: Use image node_id 7 for calling the TestClock obj's underlying member method code with example usage: obj.test_bts_after_session() without return types