Neos\Flow\Tests\Unit\Persistence\Generic\SessionTest::isDirtyReturnsTrueForArraysWhoseContainedObjectsDiffer PHP Method

isDirtyReturnsTrueForArraysWhoseContainedObjectsDiffer() public method

    public function isDirtyReturnsTrueForArraysWhoseContainedObjectsDiffer()
    {
        $object = new \stdClass();
        $object->Persistence_Object_Identifier = 'dirtyUuid';
        $array = [];
        $array[] = $object;
        $className = 'Class' . md5(uniqid(mt_rand(), true));
        eval('class ' . $className . ' { public $array; }');
        $parent = new $className();
        $parent->array = $array;
        $cleanData = ['identifier' => 'fakeUuid', 'properties' => ['array' => ['type' => 'array', 'multivalue' => true, 'value' => [['type' => 'Some\\Object', 'index' => 0, 'value' => ['identifier' => 'cleanUuid']]]]]];
        $session = $this->getMockBuilder(Persistence\Generic\Session::class)->setMethods(['getIdentifierByObject', 'isSingleValuedPropertyDirty'])->getMock();
        $session->registerReconstitutedEntity($parent, $cleanData);
        $session->expects($this->once())->method('getIdentifierByObject')->will($this->returnValue('fakeUuid'));
        $session->expects($this->once())->method('isSingleValuedPropertyDirty')->will($this->returnValue(true));
        $this->assertTrue($session->isDirty($parent, 'array'));
    }