Source code for PseudoNetCDF.test

def _importorskip(modname, minversion=None):
    import importlib
    import unittest
    try:
        from packaging.version import Version
    except Exception:
        from distutils.version import LooseVersion as Version
    try:
        mod = importlib.import_module(modname)
        has = True
        if minversion is not None:
            if Version(mod.__version__) < Version(minversion):
                raise ImportError('Minimum version not satisfied')
    except ImportError:
        has = False
    # TODO: use pytest.skipif instead of unittest.skipUnless
    # Using `unittest.skipUnless` is a temporary workaround for pytest#568,
    # wherein class decorators stain inherited classes.
    # xref: xarray#1531, implemented in xarray #1557.
    func = unittest.skipUnless(has, reason='requires {}'.format(modname))
    return has, func


has_pyproj, requires_pyproj = _importorskip('pyproj')
has_matplotlib, requires_matplotlib = _importorskip('matplotlib')
has_basemap, requires_basemap = _importorskip('mpl_toolkits.basemap')


[docs] def compare_files(f1, f2): from numpy.testing import assert_array_equal assert (set(f1.variables) == set(f2.variables)) assert (set(f1.dimensions) == set(f2.dimensions)) attrs1 = f1.getncatts() attrs2 = f2.getncatts() assert (set(attrs1) == set(attrs2)) for key, val1 in f1.dimensions.items(): val2 = f2.dimensions[key] assert_array_equal(len(val1), len(val2)) assert_array_equal(val1.isunlimited(), val2.isunlimited()) for key, val1 in attrs1.items(): val2 = attrs2[key] assert_array_equal(val1, val2) for key, val1 in f1.variables.items(): val2 = f2.variables[key] assert_array_equal(val1[...], val2[...])