From d199102472dda8d6f23155cd61143b46b80a4fee Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 14:57:07 +0100 Subject: [PATCH 1/8] import from collections.abc --- lib/iris/tests/test_cdm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/iris/tests/test_cdm.py b/lib/iris/tests/test_cdm.py index 64a7924ce4..0615dc39bf 100644 --- a/lib/iris/tests/test_cdm.py +++ b/lib/iris/tests/test_cdm.py @@ -692,7 +692,7 @@ def test_cube_iteration(self): pass def test_not_iterable(self): - self.assertFalse(isinstance(self.t, collections.Iterable)) + self.assertFalse(isinstance(self.t, collections.abc.Iterable)) class Test2dSlicing(TestCube2d): From 17dbea04c213d246d9a96a597a8b28fed8f5b70c Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 16:03:23 +0100 Subject: [PATCH 2/8] deprecated csr module --- .../analysis/scipy_interpolate/test__RegularGridInterpolator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/iris/tests/unit/analysis/scipy_interpolate/test__RegularGridInterpolator.py b/lib/iris/tests/unit/analysis/scipy_interpolate/test__RegularGridInterpolator.py index f4c6623ad1..f0aa027baa 100644 --- a/lib/iris/tests/unit/analysis/scipy_interpolate/test__RegularGridInterpolator.py +++ b/lib/iris/tests/unit/analysis/scipy_interpolate/test__RegularGridInterpolator.py @@ -11,7 +11,7 @@ import iris.tests as tests # isort:skip import numpy as np -from scipy.sparse.csr import csr_matrix +from scipy.sparse import csr_matrix from iris.analysis._scipy_interpolate import _RegularGridInterpolator import iris.tests.stock as stock From 51fa930d0e826578502a5af1f1126413ce046c5c Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 16:08:40 +0100 Subject: [PATCH 3/8] unittest deprecations --- lib/iris/tests/test_coordsystem.py | 6 +++--- lib/iris/tests/test_file_save.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/iris/tests/test_coordsystem.py b/lib/iris/tests/test_coordsystem.py index e4c776a063..212c04bd7e 100644 --- a/lib/iris/tests/test_coordsystem.py +++ b/lib/iris/tests/test_coordsystem.py @@ -87,7 +87,7 @@ def test_simple(self): def test_different_class(self): a = self.cs1 b = self.cs3 - self.assertNotEquals(a, b) + self.assertNotEqual(a, b) def test_different_public_attributes(self): a = self.cs1 @@ -98,7 +98,7 @@ def test_different_public_attributes(self): self.assertEqual(a.foo, "a") # a and b should not be the same - self.assertNotEquals(a, b) + self.assertNotEqual(a, b) # a and b should be the same b.foo = "a" @@ -106,7 +106,7 @@ def test_different_public_attributes(self): b.foo = "b" # a and b should not be the same - self.assertNotEquals(a, b) + self.assertNotEqual(a, b) class Test_CoordSystem_xml_element(tests.IrisTest): diff --git a/lib/iris/tests/test_file_save.py b/lib/iris/tests/test_file_save.py index 3b751cfcbe..216637202a 100644 --- a/lib/iris/tests/test_file_save.py +++ b/lib/iris/tests/test_file_save.py @@ -201,7 +201,7 @@ def test_bytesio(self): data = infile.read() # Compare files - self.assertEquals( + self.assertEqual( data, sio.getvalue(), "Mismatch in data when comparing iris bytesio save " From 5b12fbec90c4e527ef677eb3bb2ce0b57201f8b6 Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 16:13:47 +0100 Subject: [PATCH 4/8] random_integers -> randint --- lib/iris/tests/integration/test_regridding.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/iris/tests/integration/test_regridding.py b/lib/iris/tests/integration/test_regridding.py index 4ceac6ab1e..3e87a8d0aa 100644 --- a/lib/iris/tests/integration/test_regridding.py +++ b/lib/iris/tests/integration/test_regridding.py @@ -112,7 +112,7 @@ def test_nearest(self): class TestZonalMean_global(tests.IrisTest): def setUp(self): np.random.seed(0) - self.src = iris.cube.Cube(np.random.random_integers(0, 10, (140, 1))) + self.src = iris.cube.Cube(np.random.randint(0, 10, size=(140, 1))) s_crs = iris.coord_systems.GeogCS(6371229.0) sy_coord = iris.coords.DimCoord( np.linspace(-90, 90, 140), From 918df4e092f205dc0829ffb1c6a094f021b35321 Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 16:20:11 +0100 Subject: [PATCH 5/8] collections again --- lib/iris/tests/unit/cube/test_CubeList.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/iris/tests/unit/cube/test_CubeList.py b/lib/iris/tests/unit/cube/test_CubeList.py index eb4c6c4f3f..fed3b3fd63 100644 --- a/lib/iris/tests/unit/cube/test_CubeList.py +++ b/lib/iris/tests/unit/cube/test_CubeList.py @@ -565,7 +565,9 @@ def setUp(self): self.scalar_cubes.append(Cube(i, long_name=letter)) def test_iterable(self): - self.assertTrue(isinstance(self.scalar_cubes, collections.Iterable)) + self.assertTrue( + isinstance(self.scalar_cubes, collections.abc.Iterable) + ) def test_iteration(self): letters = "abcd" * 5 From 6f43ce07e6dd40bdddd0cdae275746282cee831d Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 16:33:14 +0100 Subject: [PATCH 6/8] inspect deprecation --- lib/iris/tests/test_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/iris/tests/test_util.py b/lib/iris/tests/test_util.py index ec7f8d1023..db182ae3f3 100644 --- a/lib/iris/tests/test_util.py +++ b/lib/iris/tests/test_util.py @@ -144,7 +144,7 @@ def test_invalid_clip_lengths(self): def test_default_values(self): # Get the default values specified in the function - argspec = inspect.getargspec(iris.util.clip_string) + argspec = inspect.getfullargspec(iris.util.clip_string) arg_dict = dict(zip(argspec.args[-2:], argspec.defaults)) result = iris.util.clip_string( From 17ce3ea7f8a4e460a16785b55dd9790c7d44731f Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 16:39:30 +0100 Subject: [PATCH 7/8] reduce redunancy --- lib/iris/tests/unit/cube/test_CubeList.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/iris/tests/unit/cube/test_CubeList.py b/lib/iris/tests/unit/cube/test_CubeList.py index fed3b3fd63..50c1e553bc 100644 --- a/lib/iris/tests/unit/cube/test_CubeList.py +++ b/lib/iris/tests/unit/cube/test_CubeList.py @@ -565,9 +565,7 @@ def setUp(self): self.scalar_cubes.append(Cube(i, long_name=letter)) def test_iterable(self): - self.assertTrue( - isinstance(self.scalar_cubes, collections.abc.Iterable) - ) + self.assertIsInstance(self.scalar_cubes, collections.abc.Iterable) def test_iteration(self): letters = "abcd" * 5 From 969f90b86a95c0da7669ce05a32da89dad1e3c54 Mon Sep 17 00:00:00 2001 From: Ruth Comer Date: Tue, 24 May 2022 16:42:56 +0100 Subject: [PATCH 8/8] non test class --- .../tests/unit/fileformats/pp/test_PPField.py | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/lib/iris/tests/unit/fileformats/pp/test_PPField.py b/lib/iris/tests/unit/fileformats/pp/test_PPField.py index 5ce41402ad..266c26aa59 100644 --- a/lib/iris/tests/unit/fileformats/pp/test_PPField.py +++ b/lib/iris/tests/unit/fileformats/pp/test_PPField.py @@ -43,7 +43,7 @@ ] -class TestPPField(PPField): +class DummyPPField(PPField): HEADER_DEFN = DUMMY_HEADER HEADER_DICT = dict(DUMMY_HEADER) @@ -81,7 +81,7 @@ def test_float64(self): # Tests down-casting of >f8 data to >f4. def field_checksum(data): - field = TestPPField()._ready_for_save() + field = DummyPPField()._ready_for_save() field.data = data with self.temp_filename(".pp") as temp_filename: with open(temp_filename, "wb") as pp_file: @@ -98,7 +98,7 @@ def field_checksum(data): def test_masked_mdi_value_warning(self): # Check that an unmasked MDI value raises a warning. - field = TestPPField()._ready_for_save() + field = DummyPPField()._ready_for_save() field.bmdi = -123.4 # Make float32 data, as float64 default produces an extra warning. field.data = np.ma.masked_array( @@ -112,7 +112,7 @@ def test_masked_mdi_value_warning(self): def test_unmasked_mdi_value_warning(self): # Check that MDI in *unmasked* data raises a warning. - field = TestPPField()._ready_for_save() + field = DummyPPField()._ready_for_save() field.bmdi = -123.4 # Make float32 data, as float64 default produces an extra warning. field.data = np.array([1.0, field.bmdi, 3.0], dtype=np.float32) @@ -124,7 +124,7 @@ def test_unmasked_mdi_value_warning(self): def test_mdi_masked_value_nowarning(self): # Check that a *masked* MDI value does not raise a warning. - field = TestPPField()._ready_for_save() + field = DummyPPField()._ready_for_save() field.bmdi = -123.4 # Make float32 data, as float64 default produces an extra warning. field.data = np.ma.masked_array( @@ -141,24 +141,24 @@ def test_mdi_masked_value_nowarning(self): class Test_calendar(tests.IrisTest): def test_greg(self): - field = TestPPField() + field = DummyPPField() field.lbtim = SplittableInt(1, {"ia": 2, "ib": 1, "ic": 0}) self.assertEqual(field.calendar, "gregorian") def test_360(self): - field = TestPPField() + field = DummyPPField() field.lbtim = SplittableInt(2, {"ia": 2, "ib": 1, "ic": 0}) self.assertEqual(field.calendar, "360_day") def test_365(self): - field = TestPPField() + field = DummyPPField() field.lbtim = SplittableInt(4, {"ia": 2, "ib": 1, "ic": 0}) self.assertEqual(field.calendar, "365_day") class Test_coord_system(tests.IrisTest): def _check_cs(self, bplat, bplon, rotated): - field = TestPPField() + field = DummyPPField() field.bplat = bplat field.bplon = bplon with mock.patch( @@ -203,29 +203,29 @@ def setUp(self): self.header = list(header_longs) + list(header_floats) def test_no_headers(self): - field = TestPPField() + field = DummyPPField() self.assertIsNone(field._raw_header) self.assertIsNone(field.raw_lbtim) self.assertIsNone(field.raw_lbpack) def test_lbtim_lookup(self): - self.assertEqual(TestPPField.HEADER_DICT["lbtim"], (12,)) + self.assertEqual(DummyPPField.HEADER_DICT["lbtim"], (12,)) def test_lbpack_lookup(self): - self.assertEqual(TestPPField.HEADER_DICT["lbpack"], (20,)) + self.assertEqual(DummyPPField.HEADER_DICT["lbpack"], (20,)) def test_raw_lbtim(self): raw_lbtim = 4321 - (loc,) = TestPPField.HEADER_DICT["lbtim"] + (loc,) = DummyPPField.HEADER_DICT["lbtim"] self.header[loc] = raw_lbtim - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.raw_lbtim, raw_lbtim) def test_raw_lbpack(self): raw_lbpack = 4321 - (loc,) = TestPPField.HEADER_DICT["lbpack"] + (loc,) = DummyPPField.HEADER_DICT["lbpack"] self.header[loc] = raw_lbpack - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.raw_lbpack, raw_lbpack) @@ -237,39 +237,39 @@ def setUp(self): def test_attr_singular_long(self): lbrow = 1234 - (loc,) = TestPPField.HEADER_DICT["lbrow"] + (loc,) = DummyPPField.HEADER_DICT["lbrow"] self.header[loc] = lbrow - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.lbrow, lbrow) def test_attr_multi_long(self): lbuser = (100, 101, 102, 103, 104, 105, 106) - loc = TestPPField.HEADER_DICT["lbuser"] + loc = DummyPPField.HEADER_DICT["lbuser"] self.header[loc[0] : loc[-1] + 1] = lbuser - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.lbuser, lbuser) def test_attr_singular_float(self): bdatum = 1234 - (loc,) = TestPPField.HEADER_DICT["bdatum"] + (loc,) = DummyPPField.HEADER_DICT["bdatum"] self.header[loc] = bdatum - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.bdatum, bdatum) def test_attr_multi_float(self): brsvd = (100, 101, 102, 103) - loc = TestPPField.HEADER_DICT["brsvd"] + loc = DummyPPField.HEADER_DICT["brsvd"] start = loc[0] stop = loc[-1] + 1 self.header[start:stop] = brsvd - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.brsvd, brsvd) def test_attr_lbtim(self): raw_lbtim = 4321 - (loc,) = TestPPField.HEADER_DICT["lbtim"] + (loc,) = DummyPPField.HEADER_DICT["lbtim"] self.header[loc] = raw_lbtim - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) result = field.lbtim self.assertEqual(result, raw_lbtim) self.assertIsInstance(result, SplittableInt) @@ -279,9 +279,9 @@ def test_attr_lbtim(self): def test_attr_lbpack(self): raw_lbpack = 4321 - (loc,) = TestPPField.HEADER_DICT["lbpack"] + (loc,) = DummyPPField.HEADER_DICT["lbpack"] self.header[loc] = raw_lbpack - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) result = field.lbpack self.assertEqual(result, raw_lbpack) self.assertIsInstance(result, SplittableInt) @@ -290,7 +290,7 @@ def test_attr_lbpack(self): self.assertIsInstance(result, SplittableInt) def test_attr_raw_lbtim_assign(self): - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.raw_lbpack, 0) self.assertEqual(field.lbtim, 0) raw_lbtim = 4321 @@ -299,7 +299,7 @@ def test_attr_raw_lbtim_assign(self): self.assertNotIsInstance(field.raw_lbtim, SplittableInt) def test_attr_raw_lbpack_assign(self): - field = TestPPField(header=self.header) + field = DummyPPField(header=self.header) self.assertEqual(field.raw_lbpack, 0) self.assertEqual(field.lbpack, 0) raw_lbpack = 4321 @@ -309,14 +309,14 @@ def test_attr_raw_lbpack_assign(self): def test_attr_unknown(self): with self.assertRaises(AttributeError): - TestPPField().x + DummyPPField().x class Test_lbtim(tests.IrisTest): def test_get_splittable(self): headers = [0] * 64 headers[12] = 12345 - field = TestPPField(headers) + field = DummyPPField(headers) self.assertIsInstance(field.lbtim, SplittableInt) self.assertEqual(field.lbtim.ia, 123) self.assertEqual(field.lbtim.ib, 4) @@ -325,7 +325,7 @@ def test_get_splittable(self): def test_set_int(self): headers = [0] * 64 headers[12] = 12345 - field = TestPPField(headers) + field = DummyPPField(headers) field.lbtim = 34567 self.assertIsInstance(field.lbtim, SplittableInt) self.assertEqual(field.lbtim.ia, 345) @@ -339,7 +339,7 @@ def test_set_splittable(self): # arbitrary SplittableInt with crazy named attributes. headers = [0] * 64 headers[12] = 12345 - field = TestPPField(headers) + field = DummyPPField(headers) si = SplittableInt(34567, {"foo": 0}) field.lbtim = si self.assertIsInstance(field.lbtim, SplittableInt)