Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from __future__ import division 

2import unittest 

3 

4from lsst.ts.dateloc import DateProfile, ObservatoryLocation 

5import lsst.utils.tests 

6 

7"""Set timestamp as 2022-01-01 0h UTC""" 

8LSST_START_TIMESTAMP = 1640995200.0 

9"""Set MJD for 2022-01-01 0h UTC""" 

10LSST_START_MJD = 59580.0 

11 

12class DateProfileTest(unittest.TestCase): 

13 

14 def setUp(self): 

15 self.lsst_site = ObservatoryLocation() 

16 self.lsst_site.for_lsst() 

17 self.dp = DateProfile(LSST_START_TIMESTAMP, self.lsst_site) 

18 

19 def test_basic_information_after_creation(self): 

20 self.assertEqual(self.dp.timestamp, LSST_START_TIMESTAMP) 

21 self.assertIsNotNone(self.dp.location) 

22 self.assertIsNotNone(self.dp.current_dt) 

23 self.assertEqual(self.dp.mjd, LSST_START_MJD) 

24 self.assertEqual(self.dp.lst_rad, 0.5215154816963141) 

25 

26 def test_update_mechanism(self): 

27 new_timestamp = LSST_START_TIMESTAMP + 3600.0 

28 self.dp.update(new_timestamp) 

29 self.assertEqual(self.dp.timestamp, new_timestamp) 

30 self.assertEqual(self.dp.mjd, LSST_START_MJD + (1.0 / 24.0)) 

31 self.assertEqual(self.dp.lst_rad, 0.7840316524739084) 

32 

33 def test_call_mechanism(self): 

34 new_timestamp = LSST_START_TIMESTAMP + (2.0 * 3600.0) 

35 (mjd, lst_rad) = self.dp(new_timestamp) 

36 self.assertEqual(mjd, LSST_START_MJD + (2.0 / 24.0)) 

37 self.assertAlmostEqual(lst_rad, 1.0465478232515026, delta=1E-7) 

38 

39 def test_negative_lst(self): 

40 new_timestamp = LSST_START_TIMESTAMP + (18.0 * 3600.0) 

41 (mjd, lst_rad) = self.dp(new_timestamp) 

42 self.assertEqual(mjd, LSST_START_MJD + (18.0 / 24.0)) 

43 self.assertAlmostEqual(lst_rad, 5.246806555968448, delta=1E-7) 

44 

45 def test_midnight_timestamp(self): 

46 new_timestamp = LSST_START_TIMESTAMP + (4.0 * 3600.0) 

47 self.dp.update(new_timestamp) 

48 self.assertEqual(self.dp.midnight_timestamp(), LSST_START_TIMESTAMP) 

49 

50 def test_next_midnight_timestamp(self): 

51 new_timestamp = LSST_START_TIMESTAMP + (4.0 * 3600.0) 

52 self.dp.update(new_timestamp) 

53 self.assertEqual(self.dp.next_midnight_timestamp(), LSST_START_TIMESTAMP + (24.0 * 60.0 * 60.0)) 

54 

55 def test_previous_midnight_timestamp(self): 

56 new_timestamp = LSST_START_TIMESTAMP + (4.0 * 3600.0) 

57 self.dp.update(new_timestamp) 

58 self.assertEqual(self.dp.previous_midnight_timestamp(), LSST_START_TIMESTAMP - (24.0 * 60.0 * 60.0)) 

59 

60class MemoryTestClass(lsst.utils.tests.MemoryTestCase): 

61 pass 

62 

63def setup_module(module): 

64 lsst.utils.tests.init() 

65 

66if __name__ == "__main__": 66 ↛ 67line 66 didn't jump to line 67, because the condition on line 66 was never true

67 lsst.utils.tests.init() 

68 unittest.main()