code: def _get_session_block(self):
      # find and return a (full session, early close session, full session)
      # block
  
      shortened_session = self.calendar.early_closes[0]
      shortened_session_idx = self.calendar.schedule.index.get_loc(
          shortened_session
      )
  
      session_before = self.calendar.schedule.index[
          shortened_session_idx - 1
      ]
      session_after = self.calendar.schedule.index[
          shortened_session_idx + 1
      ]
  
      return [session_before, shortened_session, session_after]
  
imports: from datetime import time
  from os.path import abspath, dirname, join
  from unittest import TestCase
  import numpy
  import pandas
  from nose_parameterized import parameterized
  from pandas import read_csv
  from pandas.tslib import Timedelta
  from pandas.util.testing import assert_index_equal
  from pytz import timezone
  from toolz import concat
  from catalyst.errors import CalendarNameCollision, InvalidCalendarName
  from catalyst.testing.predicates import assert_equal
  from catalyst.utils.calendars import deregister_calendar, get_calendar, register_calendar
  from catalyst.utils.calendars.calendar_utils import _default_calendar_aliases, _default_calendar_factories, register_calendar_type
  from catalyst.utils.calendars.trading_calendar import days_at_time, TradingCalendar
label_desc: Use image node_id 15 for calling the ExchangeCalendarTestBase obj's underlying member method code with example usage: obj._get_session_block() and returns: list