public function testSkipsUnknownPropertiesWhenDeserializing() { $serializer = new JsonSerializer(); $stub = new JsonSerializableStub(); $contract = Contract::createFromObject($stub); $this->assertEquals($stub, $serializer->deserialize('{"publicValue":"public","privateValue":3, "unknown":99}', $contract)); }
/** * @param MessageIdentifier $identifier * @param Serializable $payload * @param Metadata $metadata */ public function __construct(MessageIdentifier $identifier, Serializable $payload, Metadata $metadata = null) { $this->identifier = $identifier; $this->payload = $payload; $this->payloadType = Contract::createFromObject($this->payload); $this->metadata = null === $metadata ? new Metadata() : $metadata; $this->metadataType = Contract::createFromObject($this->metadata); }
/** * @expectedException \InvalidArgumentException */ public function testEnsuresTheObjectIsAnObject() { Contract::createFromObject('\\stdClass'); }