Description
This test checks the expected behavior for command line parameter gdxSymbols. Contributor: Lutz Westermann, December 2023
Small Model of Type : GAMS
Category : GAMS Test library
Main file : unload16.gms
$title 'Test command line parameter gdxSymbols' (unload16,SEQ=946)
$onText
This test checks the expected behavior for command line parameter gdxSymbols.
Contributor: Lutz Westermann, December 2023
$offText
$onEcho > test.gms
Set i /i1*i3/;
Parameter p1(i) / #i 1 /
p2(i)
p3(i);
p2(i) = 2;
Variable z;
Binary Variable x(i);
Equation e;
e.. z =e= sum(i,x(i));
Model m /e/;
solve m max z use mip;
execute_unload 'all.gdx';
execute_unload 'assigned.gdx', p2, z, x, e;
execute_unload 'newOrChanged.gdx', i, p1, p2, p3, z, x, e;
$offEcho
$call.checkErrorLevel gams test.gms lo=%GAMS.lo% gdx=CLPall s=1
$call.checkErrorLevel gdxdiff all.gdx CLPall.gdx > %system.NullFile%
$call.checkErrorLevel gams test.gms lo=%GAMS.lo% gdx=CLPassigned gdxSymbols=assigned
$call.checkErrorLevel gdxdiff assigned.gdx CLPassigned.gdx > %system.NullFile%
$call.checkErrorLevel gams test.gms lo=%GAMS.lo% gdx=CLPnewOrChanged gdxSymbols=newOrChanged
$call.checkErrorLevel gdxdiff newOrChanged.gdx CLPnewOrChanged.gdx > %system.NullFile%
$onEcho > continue.gms
p3(i) = 3;
Parameter p4(i) / #i 4 /;
execute_unload 'all.gdx';
execute_unload 'assigned.gdx', p3;
execute_unload 'newOrChanged.gdx', p3, p4;
$offEcho
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPall r=1 s=2
$call.checkErrorLevel gdxdiff all.gdx CLPall.gdx > %system.NullFile%
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPassigned gdxSymbols=assigned r=1
$call.checkErrorLevel gdxdiff assigned.gdx CLPassigned.gdx > %system.NullFile%
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPnewOrChanged gdxSymbols=newOrChanged r=1
$call.checkErrorLevel gdxdiff newOrChanged.gdx CLPnewOrChanged.gdx > %system.NullFile%
$onEcho > continue.gms
solve m max z use mip;
execute_unload 'all.gdx';
execute_unload 'assigned.gdx', z, x, e;
execute_unload 'newOrChanged.gdx', z, x, e;
$offEcho
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPall r=2 s=3
$call.checkErrorLevel gdxdiff all.gdx CLPall.gdx > %system.NullFile%
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPassigned gdxSymbols=assigned r=2
$call.checkErrorLevel gdxdiff assigned.gdx CLPassigned.gdx > %system.NullFile%
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPnewOrChanged gdxSymbols=newOrChanged r=2
$call.checkErrorLevel gdxdiff newOrChanged.gdx CLPnewOrChanged.gdx > %system.NullFile%
$onEcho > continue.gms
execute_unload 'all.gdx';
$offEcho
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPall r=3
$call.checkErrorLevel gdxdiff all.gdx CLPall.gdx > %system.NullFile%
$echo * > e.gms
$call.checkErrorLevel gams e.gms lo=%GAMS.lo% gdx=empty
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPassigned gdxSymbols=assigned r=3
$call.checkErrorLevel gdxdiff empty.gdx CLPassigned.gdx > %system.NullFile%
$call.checkErrorLevel gams continue.gms lo=%GAMS.lo% gdx=CLPnewOrChanged gdxSymbols=newOrChanged r=3
$call.checkErrorLevel gdxdiff empty.gdx CLPnewOrChanged.gdx > %system.NullFile%