File: Ydayarith.py.test.in

package info (click to toggle)
cdo 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 49,836 kB
  • sloc: cpp: 185,271; ansic: 95,766; sh: 7,192; f90: 6,147; makefile: 1,977; ruby: 1,078; csh: 1,028; python: 995; fortran: 319; pascal: 219; perl: 9
file content (49 lines) | stat: -rw-r--r-- 1,480 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#! @PYTHON@
#
from cdoTest import *
#
IFILE1=f'{DATAPATH}/ts_1d_5years'
IFILE2=f'{DATAPATH}/ts_1d_1year'
FORMAT="-f srv -b 32"
#
OPERATORS=["ydayadd","ydaysub","ydaymul","ydaydiv"]
#
test_module = TestModule()

for OPERATOR in OPERATORS:
    RFILE=f'{DATAPATH}/{OPERATOR}_ref'
    OFILE=f'{OPERATOR}_res'
    t=TAPTest(OPERATOR)
    t.add(f'{CDO}  {FORMAT} {OPERATOR} -del29feb {IFILE1} {IFILE2} {OFILE}')
    t.diff(OFILE,RFILE)
    t.clean(OFILE)
    test_module.add(t)


#Swap infiles -> larger is 2nd



#Negative tests
SHOULD_FAIL=1 #expected value is 1 instead of 0
FIVE_YEARS=f'{DATAPATH}/ts_1d_5years'
SINGLE_YEAR=f'{DATAPATH}/ts_1d_1year'
OFILE="ydayarith_negative_tests"

extra_day_fails = TAPTest("extra day should cause error")
extra_day_fails.add(f'{CDO} {FORMAT} -ydayadd {SINGLE_YEAR} -mergetime [ -select,dom=25Jan {FIVE_YEARS} ] {OFILE}',SHOULD_FAIL)
extra_day_fails.clean(OFILE)
test_module.add(extra_day_fails)

missing_day_fails = TAPTest("missing day should cause error")
missing_day_fails.add(f'{CDO} {FORMAT} -ydayadd {SINGLE_YEAR} -delete,dom=25Jan {SINGLE_YEAR} {OFILE}',SHOULD_FAIL)
missing_day_fails.clean(OFILE)
test_module.add(missing_day_fails)

second_input_must_not_be_larger = TAPTest("wrong order of inputs should fail")
second_input_must_not_be_larger.add(f'{CDO} {FORMAT} -ydayadd {SINGLE_YEAR} {FIVE_YEARS} {OFILE}',SHOULD_FAIL)
second_input_must_not_be_larger.clean(OFILE)
test_module.add(second_input_must_not_be_larger)

test_module.run()