Skip to content

Commit

Permalink
Refactor crefl tests
Browse files Browse the repository at this point in the history
  • Loading branch information
djhoese committed Aug 27, 2021
1 parent a96fe11 commit 68275dd
Showing 1 changed file with 21 additions and 22 deletions.
43 changes: 21 additions & 22 deletions satpy/tests/modifier_tests/test_crefl.py
Expand Up @@ -26,46 +26,45 @@
@contextmanager
def mock_cmgdem(tmpdir, url):
"""Create fake file representing CMGDEM.hdf."""
yield from _mock_and_create_dem_file(tmpdir, url, "averaged elevation", fill_value=-9999)


@contextmanager
def mock_tbase(tmpdir, url):
"""Create fake file representing tbase.hdf."""
yield from _mock_and_create_dem_file(tmpdir, url, "Elevation")


def _mock_and_create_dem_file(tmpdir, url, var_name, fill_value=None):
if not url:
yield None
return
rmock_obj = mock.patch('satpy.modifiers._crefl.retrieve')
rmock = rmock_obj.start()
dem_fn = str(tmpdir.join(url))
rmock.return_value = dem_fn
from pyhdf.SD import SD, SDC

h = SD(dem_fn, SDC.WRITE | SDC.CREATE)
dem_var = h.create("averaged elevation", SDC.INT16, (10, 10))
dem_var.setfillvalue(-9999)
dem_var[:] = np.zeros((10, 10), dtype=np.int16)
h.end()
rmock_obj, dem_fn = _mock_dem_retrieve(tmpdir, url)
_create_fake_dem_file(dem_fn, var_name, fill_value)

try:
yield rmock_obj
finally:
rmock_obj.stop()


@contextmanager
def mock_tbase(tmpdir, url):
"""Create fake file representing tbase.hdf."""
if not url:
yield None
return
def _mock_dem_retrieve(tmpdir, url):
rmock_obj = mock.patch('satpy.modifiers._crefl.retrieve')
rmock = rmock_obj.start()
dem_fn = str(tmpdir.join(url))
rmock.return_value = dem_fn
from pyhdf.SD import SD, SDC
return rmock_obj, dem_fn


def _create_fake_dem_file(dem_fn, var_name, fill_value):
from pyhdf.SD import SD, SDC
h = SD(dem_fn, SDC.WRITE | SDC.CREATE)
dem_var = h.create("Elevation", SDC.INT16, (10, 10))
dem_var = h.create(var_name, SDC.INT16, (10, 10))
dem_var[:] = np.zeros((10, 10), dtype=np.int16)
if fill_value is not None:
dem_var.setfillvalue(fill_value)
h.end()
try:
yield rmock_obj
finally:
rmock_obj.stop()


class TestViirsReflectanceCorrectorAnglesTest(unittest.TestCase):
Expand Down

0 comments on commit 68275dd

Please sign in to comment.