[Nostromo] Add more and tweak Tests

This commit is contained in:
Andrés Montañez
2017-01-01 18:20:43 -03:00
parent 616258e91e
commit 3c21cfcce9
16 changed files with 389 additions and 68 deletions
+44
View File
@@ -0,0 +1,44 @@
<?php
/*
* This file is part of the Magallanes package.
*
* (c) Andrés Montañez <andres@andresmontanez.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Mage\Tests\Task;
use Mage\Task\ErrorException;
use Exception;
use PHPUnit_Framework_TestCase as TestCase;
class AbstractTaskTest extends TestCase
{
public function testNotArrayOptions()
{
$task = new TestCaseTask();
$task->setOptions('not an array');
$this->assertTrue(is_array($task->getOptions()));
}
public function testFailingTask()
{
$task = new TestCaseFailTask();
try {
$task->execute();
$this->assertTrue(false, 'TestCaseFailTask did not throw exception');
} catch (Exception $exception) {
$this->assertTrue($exception instanceof ErrorException);
if ($exception instanceof ErrorException) {
$this->assertEquals('This is a text...', $exception->getTrimmedMessage(14));
$this->assertEquals('This is a text with a lot of characters', $exception->getTrimmedMessage());
$this->assertEquals('This is a text with a lot of characters', $exception->getMessage());
}
}
}
}
+32
View File
@@ -0,0 +1,32 @@
<?php
/*
* This file is part of the Magallanes package.
*
* (c) Andrés Montañez <andres@andresmontanez.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Mage\Tests\Task;
use Mage\Task\ErrorException;
use Mage\Task\AbstractTask;
class TestCaseFailTask extends AbstractTask
{
public function getName()
{
return 'test-fail';
}
public function getDescription()
{
return '[Test] This is a Test Task which Fails';
}
public function execute()
{
throw new ErrorException('This is a text with a lot of characters');
}
}
+36
View File
@@ -0,0 +1,36 @@
<?php
/*
* This file is part of the Magallanes package.
*
* (c) Andrés Montañez <andres@andresmontanez.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Mage\Tests\Task;
use Mage\Task\AbstractTask;
class TestCaseTask extends AbstractTask
{
public function getName()
{
return 'test';
}
public function getDescription()
{
return '[Test] This is a Test Task';
}
public function execute()
{
return true;
}
public function getOptions()
{
return $this->options;
}
}