getFormat()); } public function testFormatValueReturnsFormattedDateForDateTime(): void { $formatter = new DateFormatter(); $date = new \DateTime('2023-10-01'); $result = $formatter->formatValue($date); $this->assertInstanceOf(\DateTimeInterface::class, $result); } public function testFormatValueReturnsNullForNullValue(): void { $formatter = new DateFormatter(); $result = $formatter->formatValue(null); self::assertNull($result); } public function testFormatValueThrowsExceptionForNonDateTime(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Only DateTimeInterface can be formatted'); $formatter = new DateFormatter(); $formatter->formatValue('not a date'); } }