@@ -1165,7 +1165,7 @@ def test_Data_concatenate(self):
11651165 str (d )
11661166 str (e )
11671167 f = cf .Data .concatenate ([d , e ], axis = 1 )
1168- cached = f ._get_cached_elements ()
1168+ cached = f .get_cached_elements ()
11691169 self .assertEqual (cached [0 ], d .first_element ())
11701170 self .assertEqual (cached [- 1 ], e .last_element ())
11711171
@@ -1205,7 +1205,7 @@ def test_Data_concatenate(self):
12051205 repr (e )
12061206 f = cf .Data .concatenate ([d , e ], axis = 0 )
12071207 self .assertEqual (
1208- f ._get_cached_elements (),
1208+ f .get_cached_elements (),
12091209 {0 : d .first_element (), - 1 : e .last_element ()},
12101210 )
12111211
@@ -4378,7 +4378,7 @@ def test_Data_Units(self):
43784378 d = cf .Data ([1000 , 2000 , 3000 ], "m" )
43794379 repr (d )
43804380 d .Units = cf .Units ("km" )
4381- self .assertEqual (d ._get_cached_elements (), {0 : 1.0 , 1 : 2.0 , - 1 : 3.0 })
4381+ self .assertEqual (d .get_cached_elements (), {0 : 1.0 , 1 : 2.0 , - 1 : 3.0 })
43824382
43834383 def test_Data_get_data (self ):
43844384 """Test the `get_data` Data method."""
@@ -4446,57 +4446,30 @@ def test_Data__init__datetime(self):
44464446 self .assertTrue ((q == d ).array .all ())
44474447 self .assertTrue ((d == q ).array .all ())
44484448
4449- def test_Data__str__ (self ):
4450- """Test `Data.__str__`"""
4451- elements0 = (0 , - 1 , 1 )
4452- for array in ([1 ], [1 , 2 ], [1 , 2 , 3 ]):
4453- elements = elements0 [: len (array )]
4454-
4455- d = cf .Data (array )
4456- cache = d ._get_cached_elements ()
4457- for element in elements :
4458- self .assertNotIn (element , cache )
4459-
4460- self .assertEqual (str (d ), str (array ))
4461- cache = d ._get_cached_elements ()
4462- for element in elements :
4463- self .assertIn (element , cache )
4464-
4465- d [0 ] = 1
4466- cache = d ._get_cached_elements ()
4467- for element in elements :
4468- self .assertNotIn (element , cache )
4469-
4470- self .assertEqual (str (d ), str (array ))
4471- cache = d ._get_cached_elements ()
4472- for element in elements :
4473- self .assertIn (element , cache )
4474-
4475- d += 0
4476- cache = d ._get_cached_elements ()
4477- for element in elements :
4478- self .assertNotIn (element , cache )
4479-
4480- self .assertEqual (str (d ), str (array ))
4481- cache = d ._get_cached_elements ()
4482- for element in elements :
4483- self .assertIn (element , cache )
4484-
4485- # Test when size > 3, i.e. second element is not there.
4486- d = cf .Data ([1 , 2 , 3 , 4 ])
4487- cache = d ._get_cached_elements ()
4488- for element in elements0 :
4489- self .assertNotIn (element , cache )
4490-
4491- self .assertEqual (str (d ), "[1, ..., 4]" )
4492- cache = d ._get_cached_elements ()
4493- self .assertNotIn (1 , cache )
4494- for element in elements0 [:2 ]:
4495- self .assertIn (element , cache )
4496-
4497- d [0 ] = 1
4498- for element in elements0 :
4499- self .assertNotIn (element , d ._get_cached_elements ())
4449+ def test_Data__repr__str (self ):
4450+ """Test all means of Data inspection."""
4451+ for d in [
4452+ cf .Data (9 , units = "km" ),
4453+ cf .Data ([9 ], units = "km" ),
4454+ cf .Data ([[9 ]], units = "km" ),
4455+ cf .Data ([8 , 9 ], units = "km" ),
4456+ cf .Data ([[8 , 9 ]], units = "km" ),
4457+ cf .Data ([7 , 8 , 9 ], units = "km" ),
4458+ cf .Data ([[7 , 8 , 9 ]], units = "km" ),
4459+ cf .Data ([6 , 7 , 8 , 9 ], units = "km" ),
4460+ cf .Data ([[6 , 7 , 8 , 9 ]], units = "km" ),
4461+ cf .Data ([[6 , 7 ], [8 , 9 ]], units = "km" ),
4462+ cf .Data ([[6 , 7 , 8 , 9 ], [6 , 7 , 8 , 9 ]], units = "km" ),
4463+ ]:
4464+ _ = repr (d )
4465+ _ = str (d )
4466+
4467+ # Test when the data contains date-times with the first
4468+ # element masked
4469+ dt = np .ma .array ([10 , 20 ], mask = [True , False ])
4470+ d = cf .Data (dt , units = "days since 2000-01-01" )
4471+ self .assertTrue (str (d ) == "[--, 2000-01-21 00:00:00]" )
4472+ self .assertTrue (repr (d ) == "<CF Data(2): [--, 2000-01-21 00:00:00]>" )
45004473
45014474 def test_Data_cull_graph (self ):
45024475 """Test Data.cull_graph."""
0 commit comments