File: Arith.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 (54 lines) | stat: -rw-r--r-- 1,670 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
50
51
52
53
54
#! @PYTHON@
from cdoTest import *
test_module = TestModule();

FORMAT="-f srv -b 32"
OPERATORS=["add","sub","mul","div"]

SYMBOLS=["+","-","*","/"]
IFILES_1=[DATAPATH+"/"+ name for name  in ["arith1.srv", "arith2.srv"]]
IFILES_2=[DATAPATH+"/"+ name for name  in ["arithmask.srv", "arith2mean.srv"]]
PREFIX=["arith","arith2"]

CDO_CALL="{cdo} {f}".format(cdo=CDO,f=FORMAT)
#
test_module = TestModule()

for IFILE1,IFILE2,PREFIX in zip(IFILES_1,IFILES_2,PREFIX):
    for OPER in OPERATORS:
        OFILE=PREFIX+"{oper}_res".format(oper=OPER)
        RFILE=DATAPATH+"/"+PREFIX+"%s_ref" % OPER

        t=TAPTest(f'{OPER} {PREFIX}')
        t.add("{} {} {} {} {}".format(CDO_CALL,OPER,IFILE1,IFILE2,OFILE))
        t.add("{} diff {} {}".format(CDO,OFILE, RFILE))
        t.clean(OFILE)
        test_module.add(t)


#for OPER in OPERATORS:
#    IFILE1=DATAPATH+"/arith2.srv"
#    IFILE2=DATAPATH+"/arith2mean.srv"
#    OFILE="arith2{oper}_res".format(oper=OPER)
#    RFILE=DATAPATH+"/arith2{oper}_ref".format(oper=OPER)
#
#    t=TAPTest()
#    t.add("{} {} {} {} {}".format(CDO_CALL,OPER,IFILE1,IFILE2,OFILE))
#    t.add("{} diff {} {}".format(CDO, OFILE, RFILE))
#    t.clean(OFILE)
#    test_module.add(t)

for OPER,SYM in zip(OPERATORS,SYMBOLS):
    RFILE=DATAPATH+"/arith{oper}_ref".format(oper=OPER)
    IFILE=DATAPATH+"/expr1.srv"
    OFILE="expr{oper}_res".format(oper=OPER)

    INSTR="var215=var215{OP}var3;var216=var216{OP}var3;".format(OP=SYM)

    t=TAPTest(f'expr {SYM}')
    t.add("{} expr,\"{}\" {} {}".format(CDO_CALL,INSTR, IFILE, OFILE))
    t.add("{} diff {} {}".format(CDO_CALL, OFILE, RFILE))
    t.clean(OFILE)
    test_module.add(t)

test_module.run()