exe:geno_test

TESTNAME:geno_test valid f1
arg:XrqX[G:1.23][-1:2.34]
out:valid
out:
RUNTEST

TESTNAME:geno_test invalid f1
arg:rq[0:0]
out:[WARN] Geno.isValid: 1 warning(s) while checking validity of ''
out:[WARN] Geno.isValid: ...[WARN] GenoConv_F1.grow: Illegal neuron position (ignored)
out:invalid
out:
RUNTEST

TESTNAME:geno_test valid f0
arg:-
in://0
in:p:
in:p:1
in:j:0,1
out:valid
out:
RUNTEST

TESTNAME:geno_test invalid f0
arg:-
in://0
in:p:
in:p:
out:[ERROR] Geno.isValid: 1 error(s) while checking validity of ''
out:[ERROR] Geno.isValid: ...[ERROR] Model.internalCheck: Not all parts connected (eg. Part #0 and Part #1)
out:invalid
out:
RUNTEST

################################## another executable... ##################################

exe:full_props

TESTNAME:full_props
arg:X
out:*INSERTPLATFORMDEPENDENTFILE*:full_props_x
RUNTEST

TESTNAME:full_props with a more complex genotype
arg:FIX[@,p:0.6543,1:-1.23456]X[G]
out:*INSERTPLATFORMDEPENDENTFILE*:full_props-complex
RUNTEST

TESTNAME:full_props with fS
arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
out:*INSERTPLATFORMDEPENDENTFILE*:full_props-fS
RUNTEST

################################## another executable... ##################################

exe:f0_variants_test

TESTNAME:f0_variants_test
out:*INSERTPLATFORMDEPENDENTFILE*:f0_variants_test-default
RUNTEST

TESTNAME:f0_variants_test with a more complex genotype
arg:FIX[@,p:0.6543,1:-1.23456]X[G]
out:*INSERTPLATFORMDEPENDENTFILE*:f0_variants_test-complex
RUNTEST

TESTNAME:f0_variants_test with fS
arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
out:*INSERTPLATFORMDEPENDENTFILE*:f0_variants_test-fS
RUNTEST

################################## another executable... ##################################

exe:genoconv_test

TESTNAME:genoconv_test
out:*INSERTPLATFORMDEPENDENTFILE*:genoconv_test-default
RUNTEST

TESTNAME:genoconv_test with a more complex genotype
arg:FIX[@,p:0.6543,1:-1.23456]X[G]
out:*INSERTPLATFORMDEPENDENTFILE*:genoconv_test-complex
RUNTEST

TESTNAME:genoconv_test with a simple multiplying converter
arg:/*multiply*/2X2r3X2(X2)
out:*INSERTPLATFORMDEPENDENTFILE*:genoconv_test-simplemultiply
RUNTEST

TESTNAME:genoconv_test with a simple solid-shape converter
arg:/*shapes*/ball,cube,cylinder,cube
out:*INSERTPLATFORMDEPENDENTFILE*:genoconv_test-simplesolids
RUNTEST

################################## another executable... ##################################

exe:genomanipulation

TESTNAME:genomanipulation
out:*INSERTPLATFORMDEPENDENTFILE*:genomanipulation-default
RUNTEST

TESTNAME:genomanipulation with a more complex genotype
arg:FIX[@,p:0.6543,1:-1.23456]X[G]
out:*INSERTPLATFORMDEPENDENTFILE*:genomanipulation-complex
RUNTEST

TESTNAME:genomanipulation with fS
arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
out:*INSERTPLATFORMDEPENDENTFILE*:genomanipulation-fS
RUNTEST

################################## another executable... ##################################

exe:genooper_test

TESTNAME:genooper_test
out:*INSERTPLATFORMDEPENDENTFILE*:genooper_test-default
#RUNTEST #fS unstable and crashes all the time, so commented out
#make deterministic?

TESTNAME:genooper_test with a more complex genotype
arg:/*4*/<<N:ML<rCXm>N:T>N:T><N:T><X>N:@[G:2.427]
out:*INSERTPLATFORMDEPENDENTFILE*:genooper_test-complex
#RUNTEST

################################## another executable... ##################################

TESTNAME:genooper_test_fTest
exe:genooper_test_fTest
out:*INSERTPLATFORMDEPENDENTFILE*:genooper_test_fTest
RUNTEST

################################## another executable... ##################################

TESTNAME:loader_test_geno
exe:loader_test_geno
arg:similarity.gen
arg:Spiral plant
out:*INSERTPLATFORMDEPENDENTFILE*:loader_test_geno
RUNTEST

################################## another executable... ##################################

TESTNAME:loader_test_param
exe:loader_test_param
arg:../frams/_demos/loader_test_param.in
out:*INSERTPLATFORMDEPENDENTFILE*:loader_test_param
RUNTEST

################################## another executable... ##################################

exe:multiline_f0_test

TESTNAME:multiline_f0_test default
out:*INSERTPLATFORMDEPENDENTFILE*:multiline_f0_test-default
RUNTEST

TESTNAME:multiline_f0_test with complex genotype
arg:FIX[@,p:0.6543,1:-1.23456]X[G]
out:*INSERTPLATFORMDEPENDENTFILE*:multiline_f0_test-complex
RUNTEST

TESTNAME:multiline_f0_test with fS
arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
out:*INSERTPLATFORMDEPENDENTFILE*:multiline_f0_test-fS
RUNTEST

################################## another executable... ##################################

TESTNAME:mutableparam_test
exe:mutableparam_test
out:*INSERTPLATFORMDEPENDENTFILE*:mutableparam_test
RUNTEST

################################## another executable... ##################################

TESTNAME:neuro_layout_test
exe:neuro_layout_test
arg:/*4*/<lX>CfmQ<,fm<<<<rFX>N:N[-2:-0.202]>X>mfrm<<<N:M<rFX>N:N[-2:3.64]>XF>mN:*>N:T>N:T>m<m<<<N:M<r<r<<N:M<rX>N:N[-2:0.58]>X>qfrm<<<N:M<rFX>N:N[-2:3.64]>XF>mN:*>N:T>N:N[-2:-0.495]>N:N[-2:-0.495]>X>qfm<<imN:*><XF>N:M<rFX>N:N[-2:3.64]>N:T>N:T>N:T
out:*INSERTPLATFORMDEPENDENTFILE*:neuro_layout_test
RUNTEST

################################## another executable... ##################################

TESTNAME:neuro_test
exe:neuro_test
arg:X[N][Nu][G][Gpart][T][Tcontact][Tproximity][S][*][|][@][M][D][DoesNotExist][Fuzzy][VEye][VMotor][Sti][LMu][Water][Energy][Ch][ChMux][ChSel][Rnd][Sin][Delay][Light][Nn][PIDP][PIDV][SeeLight][SeeLight2][S0][S1][Thr]
arg:30
out:*INSERTPLATFORMDEPENDENTFILE*:neuro_test
RUNTEST

################################## another executable... ##################################

TESTNAME:paramtree_paramlist_test
exe:paramtree_paramlist_test
out:*INSERTPLATFORMDEPENDENTFILE*:paramtree_paramlist_test
RUNTEST

################################## another executable... ##################################

TESTNAME:paramtree_stdin_test
exe:paramtree_stdin_test
in:a
in:a: b: d
in:a: z
in:a: b
in:a: b: c
in:a: y
in:A
out:*INSERTPLATFORMDEPENDENTFILE*:paramtree_stdin_test
RUNTEST

################################## another executable... ##################################

TESTNAME:part_shapes
exe:part_shapes
out:*INSERTPLATFORMDEPENDENTFILE*:part_shapes
RUNTEST

################################## another executable... ##################################

TESTNAME:saver_test_geno
exe:saver_test_geno
arg:_tmp_saver_test_output.gen
arg:7
out:*INSERTPLATFORMDEPENDENTFILE*:saver_test_geno
RUNTEST
# we could also verify the contents of the saved file, but for this we would need a way to print it (in frams we use a script function to do this)

################################## another executable... ##################################

exe:serial_test

TESTNAME:serial_test
out:*INSERTPLATFORMDEPENDENTFILE*:serial_test
RUNTEST

# TESTNAME:serial_test custom
# out:*INSERTPLATFORMDEPENDENTFILE*:serial_test-custom
# arg:{"2":[1]}
# RUNTEST

# Even though the command is launched correctly from python: ['../serial_test', '{"2":[1]}'] the executable in cygwin does not get its argument: 'input string = ' with default settings and input string = {\2\:[1]} with CYGWIN=noglob.
# The problem is with characters like {} and "", and CYGWIN=noglob is supposed to fix this (it fixes the same problems with {}), but there are some bugs and it is not fixed.

################################## another executable... ##################################

TESTNAME:shapeconvert
exe:shapeconvert
out:*INSERTPLATFORMDEPENDENTFILE*:shapeconvert
arg:FIX[@,p:0.6543,1:-1.23456](X[G],XX)
RUNTEST

################################## another executable... ##################################

TESTNAME:resize_f0
exe:resize_f0
out:*INSERTPLATFORMDEPENDENTFILE*:resize_f0
arg:0.33
arg:-
in://0s
in:p:1.0, sh=2, sy=0.4000000059604645, sz=0.4000000059604645, rx=-1.5707963267948966, rz=3.141592653589793
in:p:2.499997879272546, -0.8660266281835431, sh=2, sy=0.4000000059604645, sz=0.4000000059604645, rz=2.0943926535897934
in:p:2.499997879272546, 0.8660266281835431, sh=2, sy=0.4000000059604645, sz=0.4000000059604645, rz=-2.0943926535897934
in:j:0, 1, sh=1
in:j:0, 2, sh=1
in:n:d=*
in:n:d=N
in:c:1,0,1.234
RUNTEST

################################## another executable... ##################################

exe:evol_test

TESTNAME:evol_test f9
arg:1
arg:10
arg:100
arg:0.6
arg:0.4
arg:9
arg:PJNCG
out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-f9
RUNTEST

TESTNAME:evol_test f4
arg:1
arg:10
arg:100
arg:0.6
arg:0.4
arg:4
arg:PJNCG
out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-f4
RUNTEST

TESTNAME:evol_test fH
arg:1
arg:10
arg:100
arg:0.6
arg:0.4
arg:H
arg:PJNCG
out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fH
RUNTEST

TESTNAME:evol_test fB
arg:1
arg:10
arg:100
arg:0.6
arg:0.4
arg:B
arg:PJNCG
out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fB
RUNTEST

TESTNAME:evol_test fL
arg:1
arg:10
arg:100
arg:0.6
arg:0.4
arg:L
arg:PJNCG
out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fL
RUNTEST

TESTNAME:evol_test fS
arg:1
arg:10
arg:100
arg:0.6
arg:0.4
arg:S
arg:PJNCG
out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fS
RUNTEST
