formatValue(null); self::assertFalse($result); } public function testFormatValueReturnsTrueForTrue(): void { $formatter = new BooleanFormatter(); $result = $formatter->formatValue(true); self::assertTrue($result); } public function testFormatValueReturnsFalseForFalse(): void { $formatter = new BooleanFormatter(); $result = $formatter->formatValue(false); self::assertFalse($result); } public function testFormatValueReturnsTrueForNonZeroNumber(): void { $formatter = new BooleanFormatter(); $result = $formatter->formatValue(1); self::assertTrue($result); } public function testFormatValueReturnsFalseForZero(): void { $formatter = new BooleanFormatter(); $result = $formatter->formatValue(0); self::assertFalse($result); } public function testFormatValueReturnsTrueForNonEmptyString(): void { $formatter = new BooleanFormatter(); $result = $formatter->formatValue('non-empty'); self::assertTrue($result); } public function testFormatValueReturnsFalseForEmptyString(): void { $formatter = new BooleanFormatter(); $result = $formatter->formatValue(''); self::assertFalse($result); } public function testFormatValueThrowsExceptionForNonScalar(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Only scalar values are supported'); $formatter = new BooleanFormatter(); $formatter->formatValue([]); } }