@@ -4657,6 +4657,33 @@ def test_Data_is_masked(self):
4657
4657
self .assertTrue (d [0 ].is_masked )
4658
4658
self .assertFalse (d [1 ].is_masked )
4659
4659
4660
+ def test_Data_collapse_axes_hdf_chunks (self ):
4661
+ """Test that _axes and hdf_chunks are updated after a collapse."""
4662
+ d = cf .Data ([[1 , 2 , 3 , 4 ]])
4663
+ chunks = d .shape
4664
+ d .nc_set_hdf5_chunksizes (chunks )
4665
+ e = d .mean (axes = 1 )
4666
+ self .assertEqual (d ._axes , ("dim0" , "dim1" ))
4667
+ self .assertEqual (d .nc_hdf5_chunksizes (), chunks )
4668
+
4669
+ e = d .mean (axes = 1 )
4670
+ self .assertNotEqual (e .size , d .size )
4671
+ self .assertEqual (e ._axes , d ._axes )
4672
+ self .assertEqual (e .nc_hdf5_chunksizes (), None )
4673
+
4674
+ e = d .mean (axes = 1 , squeeze = True )
4675
+ self .assertEqual (e ._axes , d ._axes [:1 ])
4676
+ self .assertEqual (e .nc_hdf5_chunksizes (), None )
4677
+
4678
+ e = d .mean (axes = 0 )
4679
+ self .assertEqual (e .size , d .size )
4680
+ self .assertEqual (e ._axes , d ._axes )
4681
+ self .assertEqual (e .nc_hdf5_chunksizes (), chunks )
4682
+
4683
+ e = d .mean (axes = 0 , squeeze = True )
4684
+ self .assertEqual (e ._axes , d ._axes [1 :])
4685
+ self .assertEqual (e .nc_hdf5_chunksizes (), chunks )
4686
+
4660
4687
4661
4688
if __name__ == "__main__" :
4662
4689
print ("Run date:" , datetime .datetime .now ())
0 commit comments