exe:geno_test.exe

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:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
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:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
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:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
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:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
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... ##################################

exe:evol_test

TESTNAME:evol_test f9
arg:1
arg:10
arg:100
arg:0.6
arg:0.4
arg:9
arg:PJNCL
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:PJNCL
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:PJNCL
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:PJNCL
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:PJNCL
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:PJNCL
out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fS
RUNTEST
