Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
3 / 3 |
CRAP | |
100.00% |
49 / 49 |
MapCollectionCasterTest | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
4 | |
100.00% |
49 / 49 |
setUp | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
testSupport | |
100.00% |
1 / 1 |
1 | |
100.00% |
22 / 22 |
|||
testToCollection | |
100.00% |
1 / 1 |
1 | |
100.00% |
25 / 25 |
|||
testToCollectionError | |
100.00% |
1 / 1 |
1 | |
100.00% |
0 / 0 |
<?php | |
/** | |
* This file is part of the Hephaistos project management API. | |
* | |
* As each files provides by the CSCFA, this file is licensed | |
* under the MIT license. | |
* | |
* PHP version 5.6 | |
* | |
* @category Test | |
* @package Hephaistos | |
* @author matthieu vallance <matthieu.vallance@cscfa.fr> | |
* @license MIT <https://opensource.org/licenses/MIT> | |
* @link http://cscfa.fr | |
*/ | |
namespace CSDT\CollectionsBundle\Tests\CollectionHelper\Caster; | |
use CSDT\CollectionsBundle\CollectionHelper\Caster\MapCollectionCaster; | |
use CSDT\CollectionsBundle\Collections\MapCollection; | |
use CSDT\CollectionsBundle\Collections\ContainerCollection; | |
/** | |
* Map collection caster test | |
* | |
* This class is used to validate the | |
* MapCollectionCaster class logic. | |
* | |
* @category Test | |
* @package Hephaistos | |
* @author matthieu vallance <matthieu.vallance@cscfa.fr> | |
* @license MIT <https://opensource.org/licenses/MIT> | |
* @link http://cscfa.fr | |
*/ | |
class MapCollectionCasterTest extends \PHPUnit_Framework_TestCase | |
{ | |
/** | |
* Test instance | |
* | |
* This property store the instance | |
* to be tested. | |
* | |
* @var MapCollectionCaster | |
*/ | |
protected $testInstance; | |
/** | |
* Set up | |
* | |
* Sets up the fixture, for example, open a network connection. | |
* This method is called before a test is executed. | |
* | |
* @return void | |
*/ | |
public function setUp() | |
{ | |
$this->testIntance = new MapCollectionCaster(); | |
} | |
/** | |
* Test support | |
* | |
* This method test the result of | |
* the support method of the | |
* MapCollection caster. | |
* | |
* @return void | |
*/ | |
public function testSupport() | |
{ | |
$this->assertTrue( | |
$this->testIntance->support(MapCollection::class), | |
sprintf( | |
"The class %s is expected to support the collection %s", | |
MapCollectionCaster::class, | |
MapCollection::class | |
) | |
); | |
$this->assertTrue( | |
$this->testIntance->support(ContainerCollection::class), | |
sprintf( | |
"The class %s is expected to support the collection %s", | |
MapCollectionCaster::class, | |
ContainerCollection::class | |
) | |
); | |
$this->assertFalse( | |
$this->testIntance->support(\stdClass::class), | |
sprintf( | |
"The class %s is not expected to support the collection %s", | |
MapCollectionCaster::class, | |
\stdClass::class | |
) | |
); | |
} | |
/** | |
* Test to collection | |
* | |
* This method test the to collection | |
* support of the MapCollection caster. | |
* | |
* @depends testSupport | |
* @return void | |
*/ | |
public function testToCollection() | |
{ | |
$array = array( | |
"test1" => "value1", | |
"test2" => "value2", | |
"test3" => "value3", | |
"test4" => "value4" | |
); | |
$this->assertInstanceOf( | |
MapCollection::class, | |
$this->testIntance->toCollection($array, MapCollection::class), | |
sprintf( | |
"The instance of %s is expected to". | |
" return an instance of %s when the". | |
" method %s is called", | |
MapCollectionCaster::class, | |
MapCollection::class, | |
"toCollection" | |
) | |
); | |
$this->assertInstanceOf( | |
ContainerCollection::class, | |
$this->testIntance->toCollection($array, ContainerCollection::class), | |
sprintf( | |
"The instance of %s is expected to". | |
" return an instance of %s when the". | |
" method %s is called", | |
MapCollectionCaster::class, | |
ContainerCollection::class, | |
"toCollection" | |
) | |
); | |
} | |
/** | |
* Test to collection error | |
* | |
* This method test the to collection support | |
* of the MapCollection caster with a no | |
* MapCollectionInterface child instance. | |
* | |
* @expectedException \LogicException | |
* @return void | |
* @codeCoverageIgnore | |
*/ | |
public function testToCollectionError() | |
{ | |
$this->testIntance->toCollection(array(), \stdClass::class); | |
} | |
} |