From d4cc05e971388e8dc7eff070a66d1c800d19183f Mon Sep 17 00:00:00 2001 From: Gerrit Holl Date: Wed, 24 Mar 2021 11:49:31 +0100 Subject: [PATCH] Add test for unit conversion Add a test for NinJoTIFF unit conversion. Currently only tests that % maps to % correctly, corresponding to the failure in https://github.com/pytroll/satpy/issues/1614 --- satpy/tests/writer_tests/test_ninjotiff.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/satpy/tests/writer_tests/test_ninjotiff.py b/satpy/tests/writer_tests/test_ninjotiff.py index ddb27c2123..f9123b6843 100644 --- a/satpy/tests/writer_tests/test_ninjotiff.py +++ b/satpy/tests/writer_tests/test_ninjotiff.py @@ -21,6 +21,7 @@ import unittest from unittest import mock +import numpy as np import xarray as xr @@ -82,3 +83,16 @@ def test_image(self, iwsi, save_dataset): assert(nt.save.mock_calls[0][2]['ch_min_measurement_unit'] < nt.save.mock_calls[0][2]['ch_max_measurement_unit']) assert(ret == nt.save.return_value) + + def test_convert_units(self): + """Test that unit conversions work as expected.""" + from ..utils import make_fake_scene + from satpy.writers.ninjotiff import convert_units + # ensure that converting from % to itself does not change the data + sc = make_fake_scene( + {"VIS006": np.arange(25).reshape(5, 5)}, + common_attrs={"units": "%"}) + ds_in = sc["VIS006"] + ds_out = convert_units(ds_in, "%", "%") + np.testing.assert_array_equal(ds_in, ds_out) + assert ds_in.attrs == ds_out.attrs