#!/usr/bin/env python # coding: utf-8 """Test error messages.""" import os import pytest from xsuite import xcdo from xsuite.tools import load_data ds = load_data('pre', decode_times=False) datadir = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir, 'data') filename = os.path.join(datadir, 'sresa1b_ncar_ccsm3-example.nc') def test_no_value(): with pytest.raises(ValueError) as excinfo: xcdo.CDO(ds).zonmean(23).result() assert 'does not take any arguments' in str(excinfo.value) def test_no_input_after_noncinput(): with pytest.raises(TypeError) as excinfo: xcdo.CDO(ds).sinfon().zonmean().result() assert 'does not allow further chaining, because of' in str(excinfo.value) @pytest.mark.parametrize("method", ['ml2pl', 'diffn', 'sellonlatbox']) def test_mandatory_args(method): with pytest.raises(ValueError) as excinfo: getattr(xcdo.CDO(ds), method)().zonmean().result()
def test_raise_exc(): with pytest.raises(Exception) as err: load_data('unknown') assert 'Unknown file' in str(err)