Skip to content
Snippets Groups Projects
Commit 3d04ee98 authored by Vladimir Onoprienko's avatar Vladimir Onoprienko
Browse files

Add unit tests

parent 6c95f7f9
Branches
No related tags found
No related merge requests found
__pycache__* __pycache__*
inmplot.egg-info*
ctler.egg-info* ctler.egg-info*
from ctler import ctl_to_netcdf
from plot_ctl import plot_ctl
...@@ -15,21 +15,23 @@ def cmdargs(): ...@@ -15,21 +15,23 @@ def cmdargs():
parser.add_argument("--znum", "-z", default=0 , help="level number to plot") parser.add_argument("--znum", "-z", default=0 , help="level number to plot")
parser.add_argument("--cmap", "-c", default="coolwarm" , help="color map palette") parser.add_argument("--cmap", "-c", default="coolwarm" , help="color map palette")
parser.add_argument("--output", "-o", default="pic.png" , help="output image file") parser.add_argument("--output", "-o", default="pic.png" , help="output image file")
parser.add_argument("--dpi", "-q", default="600" , help="output image dpi resolution")
return parser.parse_args() return parser.parse_args()
def plot_ctl(ctl_file, varname, tnum, znum, cmap, out_file): def plot_ctl(ctl_file, varname, tnum, znum, cmap, out_file, dpi):
ds = ctler.ctl_read(ctl_file) ds = ctler.ctl_read(ctl_file)
lon = ds.variables['longitude'][:] lon = ds.variables['longitude'][:]
lat = ds.variables['latitude'][:] lat = ds.variables['latitude'][:]
var = ds.variables[varname] var = ds.variables[varname]
fig = plt.figure()
plt.contourf(lon, lat, var[tnum,znum,:,:], cmap=cm.get_cmap(name=cmap) ) plt.contourf(lon, lat, var[tnum,znum,:,:], cmap=cm.get_cmap(name=cmap) )
plt.colorbar() plt.colorbar()
plt.savefig(out_file, dpi=300) plt.savefig(out_file, dpi=dpi)
return fig
if __name__ == '__main__': if __name__ == '__main__':
args = cmdargs() args = cmdargs()
plot_ctl(args.file, args.var, args.tnum, args.znum, args.cmap, args.output) plot_ctl(args.file, args.var, args.tnum, args.znum, args.cmap, args.output, int(args.dpi))
[pytest]
addopts = --mpl
testpaths =
tests/tests.py
...@@ -15,7 +15,7 @@ setup( ...@@ -15,7 +15,7 @@ setup(
description="Plotting tools for INMCM model", description="Plotting tools for INMCM model",
classifiers=filter(None, classifiers.split("\n")), classifiers=filter(None, classifiers.split("\n")),
license='MIT', license='MIT',
py_modules=['ctler, ctlinm, plot_ctl'], py_modules=['ctler, ctlinm, plot_ctl, inmplot'],
include_package_data=True, include_package_data=True,
install_requires=[ install_requires=[
......
Source diff could not be displayed: it is stored in LFS. Options to address this: view the blob.
Source diff could not be displayed: it is stored in LFS. Options to address this: view the blob.
tests/data/sst.png

131 B | W: | H:

tests/data/sst.png

130 B | W: | H:

tests/data/sst.png
tests/data/sst.png
tests/data/sst.png
tests/data/sst.png
  • 2-up
  • Swipe
  • Onion skin
import inmplot
import pytest
import filecmp
import os
@pytest.fixture
def convert_ctl_to_netcdf():
inmplot.ctl_to_netcdf(os.path.join('tests','data','mmsst.ctl'), 'test.nc')
yield
os.remove('test.nc')
def test_ctl_to_netcdf(convert_ctl_to_netcdf):
assert filecmp.cmp('test.nc', os.path.join('tests','data','mmsst.nc'))
def teardown_module():
os.remove('test.png')
@pytest.mark.mpl_image_compare(baseline_dir="data", filename='sst.png', savefig_kwargs={'dpi': 100})
def test_plot_ctl():
return inmplot.plot_ctl(
ctl_file=os.path.join('tests','data','mmsst.ctl'),
varname='sst',
tnum=0,
znum=0,
cmap='coolwarm',
out_file="test.png",
dpi=100)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment