@@ -738,6 +738,15 @@ def test_string_nd_second(self):
738738
739739 self .assertArrayEqual (collapsed_coord .points , expected )
740740
741+ def test_string_nd_both (self ):
742+ self .setupTestArrays ((3 , 4 ))
743+ coord = AuxCoord (self .pts_real .astype (str ))
744+
745+ collapsed_coord = coord .collapsed ()
746+ expected = ["0.0|10.0|20.0|30.0|40.0|50.0|60.0|70.0|80.0|90.0|100.0|110.0" ]
747+
748+ self .assertArrayEqual (collapsed_coord .points , expected )
749+
741750 def test_string_nd_bounds_first (self ):
742751 self .setupTestArrays ((3 , 4 ))
743752 coord = AuxCoord (self .pts_real .astype (str ), bounds = self .bds_real .astype (str ))
@@ -784,6 +793,21 @@ def test_string_nd_bounds_second(self):
784793 self .assertArrayEqual (collapsed_coord .bounds [:, 0 ], expected_lower )
785794 self .assertArrayEqual (collapsed_coord .bounds [:, 1 ], expected_upper )
786795
796+ def test_string_nd_bounds_both (self ):
797+ self .setupTestArrays ((3 , 4 ))
798+ coord = AuxCoord (self .pts_real .astype (str ), bounds = self .bds_real .astype (str ))
799+
800+ collapsed_coord = coord .collapsed ()
801+
802+ # Points handling is as for non bounded case. So just check bounds.
803+ expected_lower = ["-2.0|8.0|18.0|28.0|38.0|48.0|58.0|68.0|78.0|88.0|98.0|108.0" ]
804+ expected_upper = [
805+ "2.0|12.0|22.0|32.0|42.0|52.0|62.0|72.0|82.0|92.0|102.0|112.0"
806+ ]
807+
808+ self .assertArrayEqual (collapsed_coord .bounds [:, 0 ], expected_lower )
809+ self .assertArrayEqual (collapsed_coord .bounds [:, 1 ], expected_upper )
810+
787811
788812class Test_is_compatible (tests .IrisTest ):
789813 def setUp (self ):
0 commit comments