コード例 #1
0
 def test_business_period(self):
     b_periods = self.test_calendar.business_schedule(
         self.b_day1).business_periods
     self.assertEqual(len(b_periods), 1)
     p = b_periods[0]
     s = time.format_datetime(p.start_time, time.TimeZone.NY)
     self.assertEqual(p.start_time, time.to_datetime(s))
     s = time.format_datetime(p.end_time, time.TimeZone.NY)
     self.assertEqual(p.end_time, time.to_datetime(s))
     self.assertEqual(p.length, 6.5 * 60 * 60 * 10**9)
コード例 #2
0
    def test_historical_table_replayer(self):
        dt1 = to_datetime("2000-01-01T00:00:01 NY")
        dt2 = to_datetime("2000-01-01T00:00:02 NY")
        dt3 = to_datetime("2000-01-01T00:00:04 NY")

        hist_table = new_table([
            datetime_col("DateTime", [dt1, dt2, dt3]),
            int_col("Number", [1, 3, 6])
        ])

        hist_table2 = new_table([
            datetime_col("DateTime", [dt1, dt2, dt3]),
            int_col("Number", [1, 3, 6])
        ])

        start_time = to_datetime("2000-01-01T00:00:00 NY")
        end_time = to_datetime("2000-01-01T00:00:05 NY")

        replayer = TableReplayer(start_time, end_time)
        replay_table = replayer.add_table(hist_table, "DateTime")
        replay_table2 = replayer.add_table(hist_table2, "DateTime")
        self.assert_table_equals(replay_table, replay_table2)

        replayer.start()
        self.assertTrue(replay_table.is_refreshing)
        self.assertTrue(replay_table2.is_refreshing)
        self.wait_ticking_table_update(replay_table, row_count=3, timeout=60)
        self.wait_ticking_table_update(replay_table2, row_count=3, timeout=60)
        self.assert_table_equals(replay_table, replay_table2)
        replayer.shutdown()

        with self.subTest("replayer can't be reused after shutdown."):
            with self.assertRaises(DHError) as cm:
                replayer.add_table(hist_table, "DateTime")
            self.assertIn("RuntimeError", cm.exception.root_cause)

        with self.subTest("replayer can't be restarted after shutdown."):
            with self.assertRaises(DHError):
                replayer.start()

        with self.subTest("Add table after replayer is restarted."):
            replayer = TableReplayer(start_time, end_time)
            replayer.start()
            replay_table = replayer.add_table(hist_table, "DateTime")
            self.assertTrue(replay_table.is_refreshing)
            self.wait_ticking_table_update(replay_table,
                                           row_count=3,
                                           timeout=60)
            replayer.shutdown()
コード例 #3
0
    def test_to_table_datetime_with_none(self):
        datetime_str = "2021-12-10T23:59:59 NY"
        dt = to_datetime(datetime_str)

        datetime_str = "2021-12-10T23:59:59 HI"
        dt1 = to_datetime(datetime_str)

        input_cols = [
            datetime_col(name="Datetime",
                         data=[dtypes.DateTime(1), None, dt, dt1])
        ]
        table_with_null_dt = new_table(cols=input_cols)

        df = to_pandas(table_with_null_dt)
        table_from_df = to_table(df)
        self.assert_table_equals(table_from_df, table_with_null_dt)