public function testEncodeObjectId() { /** @var CM_ArrayConvertible|\Mocka\AbstractClassTrait $object */ $object = $this->mockClass(null, ['CM_ArrayConvertible', 'JsonSerializable'])->newInstance(); $toArrayMethod = $object->mockMethod('toArray')->set(['myId' => 1]); $jsonSerializeMethod = $object->mockMethod('jsonSerialize')->set(['myData' => 1]); $expectedEncoded = array('myId' => 1, '_class' => get_class($object)); $this->assertEquals(json_encode($expectedEncoded), CM_Params::encodeObjectId($object)); $this->assertSame(1, $toArrayMethod->getCallCount()); $this->assertSame(0, $jsonSerializeMethod->getCallCount()); }