예제 #1
0
    def create_objects(self):
        target = self.sal.set_subscribe_topic("target")
        # Set some meaningful information
        target.targetId = 10
        target.fieldId = 300
        target.filter = "i"
        target.ra = 0.4244
        target.dec = -0.5314
        target.num_exposures = 2

        # Make it so initial timestamp is 0
        time_handler = TimeHandler("1970-01-01")

        return target, time_handler
예제 #2
0
 def setUp(self):
     self.start_date = "2020-05-24"
     self.th = TimeHandler(self.start_date)
예제 #3
0
class TimeHandlerTest(unittest.TestCase):

    def setUp(self):
        self.start_date = "2020-05-24"
        self.th = TimeHandler(self.start_date)

    def test_basic_information_after_creation(self):
        self.assertEqual(self.th.initial_dt, datetime(2020, 5, 24))

    def test_bad_date_string(self):
        with self.assertRaises(ValueError):
            TimeHandler("18-09-15")

    def test_return_initial_timestamp(self):
        truth_timestamp = (datetime(2020, 5, 24) - datetime(1970, 1, 1)).total_seconds()
        self.assertEqual(self.th.initial_timestamp, truth_timestamp)

    def test_time_adjustment_seconds(self):
        self.th.update_time(30.0, "seconds")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 24, 0, 0, 30))

    def test_time_adjustment_hours(self):
        self.th.update_time(3.5, "hours")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 24, 3, 30, 0))

    def test_time_adjustment_days(self):
        self.th.update_time(4, "days")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 28))

    def test_multiple_time_adjustments(self):
        for i in range(3):
            self.th.update_time(30.0, "seconds")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 24, 0, 1, 30))

    def test_timestamp_after_time_adjustment(self):
        truth_timestamp = (datetime(2020, 5, 24, 0, 0, 30) - datetime(1970, 1, 1)).total_seconds()
        self.th.update_time(30.0, "seconds")
        self.assertEqual(self.th.current_timestamp, truth_timestamp)
        self.assertNotEqual(self.th.current_timestamp, self.th.initial_timestamp)

    def test_current_timestamp_string(self):
        self.assertEqual(self.th.current_timestring, "2020-05-24T00:00:00")

    def test_time_span_less_than_time_elapsed(self):
        self.th.update_time(10, "days")
        self.assertFalse(self.th.has_time_elapsed(9 * SECONDS_IN_DAY))

    def test_time_span_is_greater_than_time_elapsed(self):
        self.th.update_time(10, "days")
        self.assertTrue(self.th.has_time_elapsed(11 * SECONDS_IN_DAY))

    def test_future_timestring(self):
        self.assertEqual(self.th.future_timestring(19.0, "hours"), "2020-05-24T19:00:00")

    def test_midnight_timestamp(self):
        self.th.update_time(15, "hours")
        truth_timestamp = (datetime(2020, 5, 24) - datetime(1970, 1, 1)).total_seconds()
        self.assertEqual(self.th.current_midnight_timestamp, truth_timestamp)

    def test_next_midnight_timestamp(self):
        self.th.update_time(15, "hours")
        truth_timestamp = (datetime(2020, 5, 25) - datetime(1970, 1, 1)).total_seconds()
        self.assertEqual(self.th.next_midnight_timestamp, truth_timestamp)

    def test_future_timestamp(self):
        truth_timestamp = 1590418800.0
        self.assertEqual(self.th.future_timestamp(39, "hours"), truth_timestamp)

    def test_future_datetime(self):
        truth_datetime = datetime(2020, 5, 25, 15)
        self.assertEqual(self.th.future_datetime(39, "hours"), truth_datetime)

    def test_future_datetime_alternate_timestamp(self):
        alternate_timestamp = 1590537600.0
        truth_datetime = datetime(2020, 5, 28, 15)
        self.assertEqual(self.th.future_datetime(39, "hours", timestamp=alternate_timestamp),
                         truth_datetime)

    def test_time_since_start(self):
        self.th.update_time(10, "days")
        self.assertEqual(self.th.time_since_start, 864000)

    def test_time_since_given(self):
        self.assertEqual(self.th.time_since_given(1590364800), 86400)
예제 #4
0
 def setUp(self):
     self.start_date = "2020-05-24"
     self.th = TimeHandler(self.start_date)
예제 #5
0
class TimeHandlerTest(unittest.TestCase):
    def setUp(self):
        self.start_date = "2020-05-24"
        self.th = TimeHandler(self.start_date)

    def test_basic_information_after_creation(self):
        self.assertEqual(self.th.initial_dt, datetime(2020, 5, 24))

    def test_bad_date_string(self):
        with self.assertRaises(ValueError):
            TimeHandler("18-09-15")

    def test_return_initial_timestamp(self):
        truth_timestamp = (datetime(2020, 5, 24) -
                           datetime(1970, 1, 1)).total_seconds()
        self.assertEqual(self.th.initial_timestamp, truth_timestamp)

    def test_time_adjustment_seconds(self):
        self.th.update_time(30.0, "seconds")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 24, 0, 0, 30))

    def test_time_adjustment_hours(self):
        self.th.update_time(3.5, "hours")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 24, 3, 30, 0))

    def test_time_adjustment_days(self):
        self.th.update_time(4, "days")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 28))

    def test_multiple_time_adjustments(self):
        for i in range(3):
            self.th.update_time(30.0, "seconds")
        self.assertEqual(self.th.current_dt, datetime(2020, 5, 24, 0, 1, 30))

    def test_timestamp_after_time_adjustment(self):
        truth_timestamp = (datetime(2020, 5, 24, 0, 0, 30) -
                           datetime(1970, 1, 1)).total_seconds()
        self.th.update_time(30.0, "seconds")
        self.assertEqual(self.th.current_timestamp, truth_timestamp)
        self.assertNotEqual(self.th.current_timestamp,
                            self.th.initial_timestamp)

    def test_current_timestamp_string(self):
        self.assertEqual(self.th.current_timestring, "2020-05-24T00:00:00")

    def test_time_span_less_than_time_elapsed(self):
        self.th.update_time(10, "days")
        self.assertFalse(self.th.has_time_elapsed(9 * SECONDS_IN_DAY))

    def test_time_span_is_greater_than_time_elapsed(self):
        self.th.update_time(10, "days")
        self.assertTrue(self.th.has_time_elapsed(11 * SECONDS_IN_DAY))

    def test_future_timestring(self):
        self.assertEqual(self.th.future_timestring(19.0, "hours"),
                         "2020-05-24T19:00:00")

    def test_midnight_timestamp(self):
        self.th.update_time(15, "hours")
        truth_timestamp = (datetime(2020, 5, 24) -
                           datetime(1970, 1, 1)).total_seconds()
        self.assertEqual(self.th.current_midnight_timestamp, truth_timestamp)

    def test_next_midnight_timestamp(self):
        self.th.update_time(15, "hours")
        truth_timestamp = (datetime(2020, 5, 25) -
                           datetime(1970, 1, 1)).total_seconds()
        self.assertEqual(self.th.next_midnight_timestamp, truth_timestamp)

    def test_future_timestamp(self):
        truth_timestamp = 1590418800.0
        self.assertEqual(self.th.future_timestamp(39, "hours"),
                         truth_timestamp)

    def test_future_datetime(self):
        truth_datetime = datetime(2020, 5, 25, 15)
        self.assertEqual(self.th.future_datetime(39, "hours"), truth_datetime)

    def test_future_datetime_alternate_timestamp(self):
        alternate_timestamp = 1590537600.0
        truth_datetime = datetime(2020, 5, 28, 15)
        self.assertEqual(
            self.th.future_datetime(39, "hours",
                                    timestamp=alternate_timestamp),
            truth_datetime)

    def test_time_since_start(self):
        self.th.update_time(10, "days")
        self.assertEqual(self.th.time_since_start, 864000)

    def test_time_since_given(self):
        self.assertEqual(self.th.time_since_given(1590364800), 86400)

    def test_time_since_given_datetime(self):
        future_given_date = datetime(self.th.initial_dt.year, 6, 10)
        self.assertEqual(self.th.time_since_given_datetime(future_given_date),
                         1468800)
        past_given_date = datetime(self.th.initial_dt.year, 4, 20)
        self.assertEqual(
            self.th.time_since_given_datetime(past_given_date, reverse=True),
            2937600)
        same_given_date = datetime(self.th.initial_dt.year, 5, 24)
        self.assertEqual(
            self.th.time_since_given_datetime(same_given_date, reverse=True),
            0)
예제 #6
0
 def test_bad_date_string(self):
     with self.assertRaises(ValueError):
         TimeHandler("18-09-15")