@@ -122,17 +122,36 @@ def test_get_ccsds_time_format(self):
122122
123123 self .assertEqual (kessler .util .get_ccsds_time_format (test_case1 ), test_case1_correct )
124124 self .assertEqual (kessler .util .get_ccsds_time_format (test_case2 ), test_case2_correct )
125+
125126 def test_doy_2_date (self ):
126127 # This test is written by Andrew Ng, 19/03/22. It makes use of example CDMs provided by the NASA CARA
127128 # analysis repo at https://github.com/nasa/CARA_Analysis_Tools/tree/master/two-dimension_Pc/UnitTest/InputFiles.
128129 example1 = "2010-202T12:25:19.000" # From SingleCovTestCase1-4.cdm
129130 example2 = "2018-229T13:56:33.000" # From DensityDecorrelationTestCaseCDM.txt
130- DOY_1 = example1 [5 :5 + 3 ]
131- Year_1 = example1 [0 :4 ]
132- DOY_2 = example2 [5 :5 + 3 ]
133- Year_2 = example2 [0 :4 ]
134- test_case1_correct = "2010-7-21T12:25:19.00"
135- test_case2_correct = "2018-8-17T13:56:33.00"
136- self .assertEqual (kessler .util .doy_2_date (example1 , DOY_1 , Year_1 , 5 ), test_case1_correct )
137- self .assertEqual (kessler .util .doy_2_date (example2 , DOY_2 , Year_2 , 5 ), test_case2_correct )
131+ example3 = "2010-365T00:00:00.000" # Check that works at the final day of a non leap year
132+ example4 = "2010-001T00:00:00.000" # Check that works at the first day of a year
133+ example5 = "2012-366T00:00:00.000" # Check that works at the final day of a leap year
134+
135+ doy_1 = example1 [5 :5 + 3 ]
136+ year_1 = example1 [0 :4 ]
137+ doy_2 = example2 [5 :5 + 3 ]
138+ year_2 = example2 [0 :4 ]
139+ doy_3 = example3 [5 :5 + 3 ]
140+ year_3 = example3 [0 :4 ]
141+ doy_4 = example4 [5 :5 + 3 ]
142+ year_4 = example4 [0 :4 ]
143+ doy_5 = example5 [5 :5 + 3 ]
144+ year_5 = example5 [0 :4 ]
145+
146+ test_case1_correct = "2010-07-21T12:25:19.00"
147+ test_case2_correct = "2018-08-17T13:56:33.00"
148+ test_case3_correct = "2010-12-31T00:00:00.00"
149+ test_case4_correct = "2010-01-01T00:00:00.00"
150+ test_case5_correct = "2012-12-31T00:00:00.00"
151+
152+ self .assertEqual (kessler .util .doy_2_date (example1 , doy_1 , year_1 , 5 ), test_case1_correct )
153+ self .assertEqual (kessler .util .doy_2_date (example2 , doy_2 , year_2 , 5 ), test_case2_correct )
154+ self .assertEqual (kessler .util .doy_2_date (example3 , doy_3 , year_3 , 5 ), test_case3_correct )
155+ self .assertEqual (kessler .util .doy_2_date (example4 , doy_4 , year_4 , 5 ), test_case4_correct )
156+ self .assertEqual (kessler .util .doy_2_date (example5 , doy_5 , year_5 , 5 ), test_case5_correct )
138157
0 commit comments