71
71
pytest .mark .filterwarnings ("error:All-NaN (slice|axis) encountered" ),
72
72
]
73
73
74
- ON_WINDOWS = sys .platform == "win32"
75
-
76
74
77
75
class TestDataArray :
78
76
@pytest .fixture (autouse = True )
@@ -87,121 +85,55 @@ def setup(self):
87
85
self .mindex = pd .MultiIndex .from_product (
88
86
[["a" , "b" ], [1 , 2 ]], names = ("level_1" , "level_2" )
89
87
)
90
- self .mda = DataArray ([0 , 1 , 2 , 3 ], coords = {"x" : self .mindex }, dims = "x" )
88
+ self .mda = DataArray ([0 , 1 , 2 , 3 ], coords = {"x" : self .mindex }, dims = "x" ).astype (
89
+ np .uint64
90
+ )
91
91
92
- @pytest .mark .skipif (
93
- ON_WINDOWS ,
94
- reason = "Default numpy's dtypes vary according to OS" ,
95
- )
96
92
def test_repr (self ) -> None :
97
93
v = Variable (["time" , "x" ], [[1 , 2 , 3 ], [4 , 5 , 6 ]], {"foo" : "bar" })
98
- coords = {"x" : np .arange (3 , dtype = np .int64 ), "other" : np .int64 (0 )}
94
+ v = v .astype (np .uint64 )
95
+ coords = {"x" : np .arange (3 , dtype = np .uint64 ), "other" : np .uint64 (0 )}
99
96
data_array = DataArray (v , coords , name = "my_variable" )
100
97
expected = dedent (
101
98
"""\
102
99
<xarray.DataArray 'my_variable' (time: 2, x: 3)> Size: 48B
103
100
array([[1, 2, 3],
104
- [4, 5, 6]])
105
- Coordinates:
106
- * x (x) int64 24B 0 1 2
107
- other int64 8B 0
108
- Dimensions without coordinates: time
109
- Attributes:
110
- foo: bar"""
111
- )
112
- assert expected == repr (data_array )
113
-
114
- @pytest .mark .skipif (
115
- not ON_WINDOWS ,
116
- reason = "Default numpy's dtypes vary according to OS" ,
117
- )
118
- def test_repr_windows (self ) -> None :
119
- v = Variable (["time" , "x" ], [[1 , 2 , 3 ], [4 , 5 , 6 ]], {"foo" : "bar" })
120
- coords = {"x" : np .arange (3 , dtype = np .int64 ), "other" : np .int64 (0 )}
121
- data_array = DataArray (v , coords , name = "my_variable" )
122
- expected = dedent (
123
- """\
124
- <xarray.DataArray 'my_variable' (time: 2, x: 3)> Size: 24B
125
- array([[1, 2, 3],
126
- [4, 5, 6]])
101
+ [4, 5, 6]], dtype=uint64)
127
102
Coordinates:
128
- * x (x) int64 24B 0 1 2
129
- other int64 8B 0
103
+ * x (x) uint64 24B 0 1 2
104
+ other uint64 8B 0
130
105
Dimensions without coordinates: time
131
106
Attributes:
132
107
foo: bar"""
133
108
)
134
109
assert expected == repr (data_array )
135
110
136
- @pytest .mark .skipif (
137
- ON_WINDOWS ,
138
- reason = "Default numpy's dtypes vary according to OS" ,
139
- )
140
111
def test_repr_multiindex (self ) -> None :
141
112
expected = dedent (
142
113
"""\
143
114
<xarray.DataArray (x: 4)> Size: 32B
144
- array([0, 1, 2, 3])
115
+ array([0, 1, 2, 3], dtype=uint64 )
145
116
Coordinates:
146
117
* x (x) object 32B MultiIndex
147
118
* level_1 (x) object 32B 'a' 'a' 'b' 'b'
148
119
* level_2 (x) int64 32B 1 2 1 2"""
149
120
)
150
121
assert expected == repr (self .mda )
151
122
152
- @pytest .mark .skipif (
153
- not ON_WINDOWS ,
154
- reason = "Default numpy's dtypes vary according to OS" ,
155
- )
156
- def test_repr_multiindex_windows (self ) -> None :
157
- expected = dedent (
158
- """\
159
- <xarray.DataArray (x: 4)> Size: 16B
160
- array([0, 1, 2, 3])
161
- Coordinates:
162
- * x (x) object 32B MultiIndex
163
- * level_1 (x) object 32B 'a' 'a' 'b' 'b'
164
- * level_2 (x) int64 32B 1 2 1 2"""
165
- )
166
- assert expected == repr (self .mda )
167
-
168
- @pytest .mark .skipif (
169
- ON_WINDOWS ,
170
- reason = "Default numpy's dtypes vary according to OS" ,
171
- )
172
123
def test_repr_multiindex_long (self ) -> None :
173
124
mindex_long = pd .MultiIndex .from_product (
174
125
[["a" , "b" , "c" , "d" ], [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ]],
175
126
names = ("level_1" , "level_2" ),
176
127
)
177
- mda_long = DataArray (list (range (32 )), coords = {"x" : mindex_long }, dims = "x" )
128
+ mda_long = DataArray (
129
+ list (range (32 )), coords = {"x" : mindex_long }, dims = "x"
130
+ ).astype (np .uint64 )
178
131
expected = dedent (
179
132
"""\
180
133
<xarray.DataArray (x: 32)> Size: 256B
181
134
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
182
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])
183
- Coordinates:
184
- * x (x) object 256B MultiIndex
185
- * level_1 (x) object 256B 'a' 'a' 'a' 'a' 'a' 'a' ... 'd' 'd' 'd' 'd' 'd' 'd'
186
- * level_2 (x) int64 256B 1 2 3 4 5 6 7 8 1 2 3 4 ... 5 6 7 8 1 2 3 4 5 6 7 8"""
187
- )
188
- assert expected == repr (mda_long )
189
-
190
- @pytest .mark .skipif (
191
- not ON_WINDOWS ,
192
- reason = "Default numpy's dtypes vary according to OS" ,
193
- )
194
- def test_repr_multiindex_long_windows (self ) -> None :
195
- mindex_long = pd .MultiIndex .from_product (
196
- [["a" , "b" , "c" , "d" ], [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ]],
197
- names = ("level_1" , "level_2" ),
198
- )
199
- mda_long = DataArray (list (range (32 )), coords = {"x" : mindex_long }, dims = "x" )
200
- expected = dedent (
201
- """\
202
- <xarray.DataArray (x: 32)> Size: 128B
203
- array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
204
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])
135
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
136
+ dtype=uint64)
205
137
Coordinates:
206
138
* x (x) object 256B MultiIndex
207
139
* level_1 (x) object 256B 'a' 'a' 'a' 'a' 'a' 'a' ... 'd' 'd' 'd' 'd' 'd' 'd'
0 commit comments