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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

from __future__ import division 

import unittest 

 

from lsst.ts.dateloc import DateProfile, ObservatoryLocation 

import lsst.utils.tests 

 

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

LSST_START_TIMESTAMP = 1640995200.0 

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

LSST_START_MJD = 59580.0 

 

class DateProfileTest(unittest.TestCase): 

 

def setUp(self): 

self.lsst_site = ObservatoryLocation() 

self.lsst_site.for_lsst() 

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

 

def test_basic_information_after_creation(self): 

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

self.assertIsNotNone(self.dp.location) 

self.assertIsNotNone(self.dp.current_dt) 

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

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

 

def test_update_mechanism(self): 

new_timestamp = LSST_START_TIMESTAMP + 3600.0 

self.dp.update(new_timestamp) 

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

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

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

 

def test_call_mechanism(self): 

new_timestamp = LSST_START_TIMESTAMP + (2.0 * 3600.0) 

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

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

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

 

def test_negative_lst(self): 

new_timestamp = LSST_START_TIMESTAMP + (18.0 * 3600.0) 

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

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

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

 

def test_midnight_timestamp(self): 

new_timestamp = LSST_START_TIMESTAMP + (4.0 * 3600.0) 

self.dp.update(new_timestamp) 

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

 

def test_next_midnight_timestamp(self): 

new_timestamp = LSST_START_TIMESTAMP + (4.0 * 3600.0) 

self.dp.update(new_timestamp) 

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

 

def test_previous_midnight_timestamp(self): 

new_timestamp = LSST_START_TIMESTAMP + (4.0 * 3600.0) 

self.dp.update(new_timestamp) 

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

 

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

pass 

 

def setup_module(module): 

lsst.utils.tests.init() 

 

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

lsst.utils.tests.init() 

unittest.main()