jsonSerialize(); $this->assertObjectHasProperty('context', $serialized['sampling']); $this->assertObjectHasProperty('tools', $serialized['sampling']); $hydrated = ClientCapabilities::fromArray(json_decode(json_encode($serialized, \JSON_THROW_ON_ERROR), true, flags: \JSON_THROW_ON_ERROR)); $this->assertTrue($hydrated->sampling); $this->assertTrue($hydrated->samplingContext); $this->assertTrue($hydrated->samplingTools); } public function testSamplingSubCapabilitiesAreHydratedFromObject(): void { $sampling = new \stdClass(); $sampling->context = new \stdClass(); $sampling->tools = new \stdClass(); $capabilities = ClientCapabilities::fromArray(['sampling' => $sampling]); $this->assertTrue($capabilities->sampling); $this->assertTrue($capabilities->samplingContext); $this->assertTrue($capabilities->samplingTools); } }