public function testApplicationCommandStringsValues()
{
$argvCgrMultipleProjectForms = array('cgr', 'x/y:1.0', 'a/b=~2', 'p/q', '^3', 'd/e');
$expectedCgrMultipleProjectForms = <<<EOT
composer '--working-dir={workdir}/.composer/global/x/y' 'require' 'x/y:1.0'
composer '--working-dir={workdir}/.composer/global/a/b' 'require' 'a/b:~2'
composer '--working-dir={workdir}/.composer/global/p/q' 'require' 'p/q:^3'
composer '--working-dir={workdir}/.composer/global/d/e' 'require' 'd/e'
EOT;
$argvCgrWithMinimumStability = array('cgr', 'x/y:1.0', '--stability', 'dev');
$expectedCgrWithMinimumStability = <<<EOT
composer '--working-dir={workdir}/.composer/global/x/y' 'config' 'minimum-stability' 'dev'
composer '--working-dir={workdir}/.composer/global/x/y' 'require' 'x/y:1.0'
EOT;
$argvCgrRemove = array('cgr', 'remove', 'x/y', 'a/b', 'p/q', 'd/e');
$expectedCgrRemove = <<<EOT
composer '--working-dir={workdir}/.composer/global/x/y' 'remove' 'x/y'
composer '--working-dir={workdir}/.composer/global/a/b' 'remove' 'a/b'
composer '--working-dir={workdir}/.composer/global/p/q' 'remove' 'p/q'
composer '--working-dir={workdir}/.composer/global/d/e' 'remove' 'd/e'
EOT;
$argvCgrUpdate = array('cgr', 'update', 'x/y', 'a/b', 'p/q', 'd/e');
$expectedCgrUpdate = <<<EOT
composer '--working-dir={workdir}/.composer/global/x/y' 'update' 'x/y'
composer '--working-dir={workdir}/.composer/global/a/b' 'update' 'a/b'
composer '--working-dir={workdir}/.composer/global/p/q' 'update' 'p/q'
composer '--working-dir={workdir}/.composer/global/d/e' 'update' 'd/e'
EOT;
$argvCgrUpdateWithoutArgs = array('cgr', 'update');
$expectedCgrUpdateWithoutArgs = <<<EOT
composer '--working-dir={workdir}/.composer/global/testorg/testproject' 'update' 'testorg/testproject'
EOT;
$argvGlobalValidate = array('composer', 'global', 'validate');
$expectedGlobalValidate = <<<EOT
composer 'global' 'validate'
EOT;
$argvComposerInit = array('composer', 'init', "--name=test/test", '--no-interaction');
$expectedComposerInit = <<<EOT
composer 'init' '--name=test/test' '--no-interaction'
EOT;
return array(array($argvCgrMultipleProjectForms, $expectedCgrMultipleProjectForms), array($argvCgrWithMinimumStability, $expectedCgrWithMinimumStability), array($argvCgrRemove, $expectedCgrRemove), array($argvCgrUpdate, $expectedCgrUpdate), array($argvCgrUpdateWithoutArgs, $expectedCgrUpdateWithoutArgs), array($argvGlobalValidate, $expectedGlobalValidate), array($argvComposerInit, $expectedComposerInit));
}