public function testObject() { $operations = $this->getPatchConverter()->convert([['op' => 'replace', 'path' => '/subject', 'value' => 'new subject'], ['op' => 'add', 'path' => '/message', 'value' => 'message'], ['op' => 'test', 'path' => '/message', 'value' => 'message'], ['op' => 'remove', 'path' => '/message'], ['op' => 'move', 'path' => '/message', 'from' => '/subject'], ['op' => 'test', 'path' => '/subject', 'value' => ''], ['op' => 'replace', 'path' => '/message', 'value' => 'some new value'], ['op' => 'copy', 'path' => '/subject', 'from' => '/message'], ['op' => 'replace', 'path' => '/article/title', 'value' => 'new test title']]); $comment = new Comment(); $comment->setSubject('old subject'); $article = new Article(); $article->setTitle('test title'); $comment->setArticle($article); $this->getExecutioner()->execute($operations, $comment); static::assertEquals('some new value', $comment->getSubject()); static::assertEquals('some new value', $comment->getMessage()); static::assertEquals('new test title', $comment->getArticle()->getTitle()); }