4 * This file is part of Psy Shell.
6 * (c) 2012-2017 Justin Hileman
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Psy\Tests\Input;
14 use Psy\Input\CodeArgument;
15 use Symfony\Component\Console\Input\InputArgument;
17 class CodeArgumentTest extends \PHPUnit_Framework_TestCase
20 * @dataProvider getInvalidModes
21 * @expectedException \InvalidArgumentException
23 public function testInvalidModes($mode)
25 new CodeArgument('wat', $mode);
28 public function getInvalidModes()
31 array(InputArgument::IS_ARRAY),
32 array(InputArgument::IS_ARRAY | InputArgument::REQUIRED),
33 array(InputArgument::IS_ARRAY | InputArgument::OPTIONAL),
38 * @dataProvider getValidModes
40 public function testValidModes($mode)
42 $this->assertInstanceOf('Psy\Input\CodeArgument', new CodeArgument('yeah', $mode));
45 public function getValidModes()
48 array(InputArgument::REQUIRED),
49 array(InputArgument::OPTIONAL),