def test_vars(capsys): """Test vars function of Info class.""" era5info = info.Info('total_precipitation') era5info.vars() captured = capsys.readouterr() assert captured.out.split(' ')[-1].strip() == '2Dvars' del era5info, captured era5info = info.Info(850) era5info.vars() captured = capsys.readouterr() assert captured.out.split(' ')[-1].strip() == 'levels' del era5info, captured
def test_vars(capsys): """Test vars function of Info class.""" era5info = info.Info('total_precipitation') era5info.vars() captured = capsys.readouterr() assert '2Dvars' in captured.out assert 'land' in captured.out assert '3Dvars' not in captured.out del era5info, captured era5info = info.Info(850) era5info.vars() captured = capsys.readouterr() assert 'levels' in captured.out del era5info, captured
def _run_info(args): # List dataset information era5info = einfo.Info(args.name) if era5info.infotype == "list": era5info.list() return True else: era5info.vars() return True
def _execute(args): """Call to ERA-5 cli library.""" # the info subroutine if args.command == "info": # List dataset information era5info = einfo.Info(args.name) if era5info.infotype == "list": era5info.list() return True else: era5info.vars() return True # the fetching subroutines else: # make list of years to be downloaded if not args.endyear: years = [args.startyear] else: assert (args.endyear >= args.startyear), ('endyear should be >= startyear or None') years = list(range(args.startyear, args.endyear + 1)) # set subroutine specific arguments for monthly and hourly fetch if args.command == "monthly": synoptic = args.synoptic statistics = None elif args.command == "hourly": statistics = args.statistics synoptic = None else: raise AttributeError('The command "{}" is not valid.'.format( args.command)) # try to build and send download request era5 = efetch.Fetch(years, months=args.months, days=args.days, hours=args.hours, variables=args.variables, outputformat=args.format, outputprefix=args.outputprefix, period=args.command, ensemble=args.ensemble, synoptic=synoptic, statistics=statistics, pressurelevels=args.levels, threads=args.threads, split=args.split) era5.fetch() return True
def test_init(arg): """Test init function of Info class.""" era5info = info.Info(arg) assert isinstance(era5info.infolist, list)
def test_list(arg): """Test list function of Info class.""" era5info = info.Info(arg) era5info.list() assert True
def test_define_table_header(arg): """Test _define_table_header function of Info class.""" era5info = info.Info(arg) era5info._define_table_header() assert isinstance(era5info.header, str)
def test_list(): """Test list function of Info class.""" era5info = info.Info('levels') era5info.list() assert True