assertSame($uri, $attribute->uri); $this->assertSame($name, $attribute->name); $this->assertSame($description, $attribute->description); $this->assertSame($mimeType, $attribute->mimeType); $this->assertSame($size, $attribute->size); } public function testInstantiatesWithNullValuesForNameAndDescription(): void { // Arrange & Act $attribute = new McpResource( uri: 'file:///test', // URI is required name: null, description: null, mimeType: null, size: null, ); // Assert $this->assertSame('file:///test', $attribute->uri); $this->assertNull($attribute->name); $this->assertNull($attribute->description); $this->assertNull($attribute->mimeType); $this->assertNull($attribute->size); } public function testInstantiatesWithMissingOptionalArguments(): void { // Arrange & Act $uri = 'file:///only-uri'; $attribute = new McpResource(uri: $uri); // Assert $this->assertSame($uri, $attribute->uri); $this->assertNull($attribute->name); $this->assertNull($attribute->description); $this->assertNull($attribute->mimeType); $this->assertNull($attribute->size); } }