$actual]); $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps self::assertSame($expected, $sqlQueryBox->Edit); self::assertSame($expected, $sqlQueryBoxArray['Edit']); } #[DataProvider('booleanWithDefaultTrueProvider')] public function testExplain(mixed $actual, bool $expected): void { $sqlQueryBox = new SqlQueryBox(['Explain' => $actual]); $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps self::assertSame($expected, $sqlQueryBox->Explain); self::assertSame($expected, $sqlQueryBoxArray['Explain']); } #[DataProvider('booleanWithDefaultTrueProvider')] public function testShowAsPHP(mixed $actual, bool $expected): void { $sqlQueryBox = new SqlQueryBox(['ShowAsPHP' => $actual]); $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps self::assertSame($expected, $sqlQueryBox->ShowAsPHP); self::assertSame($expected, $sqlQueryBoxArray['ShowAsPHP']); } #[DataProvider('booleanWithDefaultTrueProvider')] public function testRefresh(mixed $actual, bool $expected): void { $sqlQueryBox = new SqlQueryBox(['Refresh' => $actual]); $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps self::assertSame($expected, $sqlQueryBox->Refresh); self::assertSame($expected, $sqlQueryBoxArray['Refresh']); } /** @return iterable */ public static function booleanWithDefaultTrueProvider(): iterable { yield 'null value' => [null, true]; yield 'valid value' => [true, true]; yield 'valid value 2' => [false, false]; yield 'valid value with type coercion' => [0, false]; } }