@@ -24,20 +24,55 @@ def test_axis_default_limits(self):
24
24
25
25
26
26
class Test_default_units (unittest .TestCase ):
27
- def test_360_day_calendar (self ):
27
+ def test_360_day_calendar_point (self ):
28
+ calendar = '360_day'
29
+ unit = 'days since 2000-01-01'
30
+ val = CalendarDateTime (netcdftime .datetime (2014 , 8 , 12 ), calendar )
31
+ result = NetCDFTimeConverter ().default_units (val , None )
32
+ self .assertEqual (result , (calendar , unit ))
33
+
34
+ def test_360_day_calendar_list (self ):
28
35
calendar = '360_day'
29
36
unit = 'days since 2000-01-01'
30
37
val = [CalendarDateTime (netcdftime .datetime (2014 , 8 , 12 ), calendar )]
31
38
result = NetCDFTimeConverter ().default_units (val , None )
32
39
self .assertEqual (result , (calendar , unit ))
33
40
41
+ def test_360_day_calendar_nd (self ):
42
+ # Test the case where the input is an nd-array.
43
+ calendar = '360_day'
44
+ unit = 'days since 2000-01-01'
45
+ val = np .array ([[CalendarDateTime (netcdftime .datetime (2014 , 8 , 12 ),
46
+ calendar )],
47
+ [CalendarDateTime (netcdftime .datetime (2014 , 8 , 13 ),
48
+ calendar )]])
49
+ result = NetCDFTimeConverter ().default_units (val , None )
50
+ self .assertEqual (result , (calendar , unit ))
51
+
52
+ def test_nonequal_calendars (self ):
53
+ # Test that different supplied calendars causes an error.
54
+ calendar_1 = '360_day'
55
+ calendar_2 = '365_day'
56
+ unit = 'days since 2000-01-01'
57
+ val = [CalendarDateTime (netcdftime .datetime (2014 , 8 , 12 ), calendar_1 ),
58
+ CalendarDateTime (netcdftime .datetime (2014 , 8 , 13 ), calendar_2 )]
59
+ with self .assertRaisesRegexp (ValueError , 'not all equal' ):
60
+ NetCDFTimeConverter ().default_units (val , None )
61
+
34
62
35
63
class Test_convert (unittest .TestCase ):
36
64
def test_numpy_array (self ):
37
65
val = np .array ([7 ])
38
66
result = NetCDFTimeConverter ().convert (val , None , None )
39
67
np .testing .assert_array_equal (result , val )
40
68
69
+ def test_numpy_nd_array (self ):
70
+ shape = (4 , 2 )
71
+ val = np .arange (8 ).reshape (shape )
72
+ result = NetCDFTimeConverter ().convert (val , None , None )
73
+ np .testing .assert_array_equal (result , val )
74
+ self .assertEqual (result .shape , shape )
75
+
41
76
def test_numeric (self ):
42
77
val = 4
43
78
result = NetCDFTimeConverter ().convert (val , None , None )
0 commit comments