code: def test_missing_values_assertion(self):
      sessions = self.trading_calendar.sessions_in_range(
          TEST_CALENDAR_START,
          TEST_CALENDAR_STOP,
      )
  
      sessions_with_gap = sessions[sessions != self.MISSING_DATA_DAY]
      bar_data = make_bar_data(
          self.make_equity_info(), sessions_with_gap
      )
  
      writer = BcolzDailyBarWriter(
          self.tmpdir.path,
          self.trading_calendar,
          sessions[0],
          sessions[-1],
      )
  
      # There are 21 sessions between the start and end date for this
      # asset, and we excluded one.
      expected_msg = re.escape(
          "Got 20 rows for daily bars table with first day=2015-06-02, last "
          "day=2015-06-30, expected 21 rows.\n"
          "Missing sessions: "
          "[Timestamp('2015-06-15 00:00:00+0000', tz='UTC')]\n"
          "Extra sessions: []"
      )
      with self.assertRaisesRegexp(AssertionError, expected_msg):
          writer.write(bar_data)
  
imports: from sys import maxsize
  import re
  from nose_parameterized import parameterized
  from numpy import arange, datetime64, nan
  from numpy.testing import assert_array_equal
  from pandas import DataFrame, Timestamp
  from pandas.util.testing import assert_index_equal
  from catalyst.data.us_equity_pricing import BcolzDailyBarReader, BcolzDailyBarWriter, NoDataBeforeDate, NoDataAfterDate
  from catalyst.pipeline.loaders.synthetic import OHLCV, asset_start, asset_end, expected_bar_value, expected_bar_values_2d, make_bar_data
  from catalyst.testing import seconds_to_timestamp
  from catalyst.testing.fixtures import WithAssetFinder, WithBcolzEquityDailyBarReader, WithTmpDir, WithTradingCalendars, CatalystTestCase
  from catalyst.utils.calendars import get_calendar
label_desc: Use image node_id 2 for calling the BcolzDailyBarWriterMissingDataTestCase obj's underlying member method code with example usage: obj.test_missing_values_assertion() without return types