public function testAssignment()
{
$this->assertSame(5, Assignment::doAssignment($ref, Assignment::EQUAL, 5));
$this->assertSame(5, $ref);
$this->assertSame(25, Assignment::doAssignment($ref, Assignment::MULTIPLICATION, 5));
$this->assertSame(25, $ref);
$this->assertSame(5, Assignment::doAssignment($ref, Assignment::DIVISION, 5));
$this->assertSame(5, $ref);
$this->assertSame(25, Assignment::doAssignment($ref, Assignment::POWER, 2));
$this->assertSame(25, $ref);
$this->assertSame(5, Assignment::doAssignment($ref, Assignment::SUBTRACTION, 20));
$this->assertSame(5, $ref);
$this->assertSame('5abc', Assignment::doAssignment($ref, Assignment::CONCATENATE, 'abc'));
$this->assertSame('5abc', $ref);
$ref = 5;
$this->assertSame(5 | 10, Assignment::doAssignment($ref, Assignment::BITWISE_OR, 10));
$this->assertSame(5 | 10, $ref);
}