for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Wambo\Core\ValueObject;
use PHPUnit\Framework\TestCase;
use Wambo\Core\ValueObject\Exception\ValueObjectException;
/**
* Class ValueObjectTest
* @package Wambo\Core\ValueObject
*/
class ValueObjectTest extends TestCase
{
public function testConstructor()
new ValueObjectImpl('a');
}
* test Immutable Class can´t use __constructor again
*
* @test
* @expectedException \Wambo\Core\Immutable\Exception\ImmutableException
public function testConstructor_asFunction()
// arrange
$obj = new ValueObjectImpl('a');
// act
$obj->__construct('b');
public function testMagicSetMethod()
$obj->__set('test', 'test value');
* @expectedException \Wambo\Core\ValueObject\Exception\ValueObjectException
public function testClone()
$objB = clone $obj;
$objB
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
$myVar = 'Value'; $higher = false; if (rand(1, 6) > 3) { $higher = true; } else { $higher = false; }
Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.
$myVar
$higher
public function testEquals()
$obj_a = new ValueObjectImpl('a');
$obj_b = new ValueObjectImpl('a');
$isEquals_func = $obj_a->equals($obj_b);
$isEquals_doubleOperator = $obj_a == $obj_b;
// assert
$this->assertTrue($isEquals_func);
$this->assertTrue($isEquals_doubleOperator);
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVarassignment in line 1 and the$higherassignment in line 2 are dead. The first because$myVaris never used and the second because$higheris always overwritten for every possible time line.