From c832f0344c2b8b3430867a85930d357cf18cdb77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20L=C3=BCcke?= Date: Tue, 9 Mar 2021 13:39:26 +0100 Subject: [PATCH] Die Daten der 'DataProvider' unterscheiden sich zu wenig. Es ist besser die Erzeugung der Daten in eine Klasse auszulagern. --- .../CyanMagentaYellowKeyTransformerTest.php | 194 +----------------- .../Transformer/ValidColorValuesProvider.php | 155 ++++++++++++++ 2 files changed, 163 insertions(+), 186 deletions(-) create mode 100644 tests/unit/Transformer/ValidColorValuesProvider.php diff --git a/tests/unit/Transformer/CyanMagentaYellowKeyTransformerTest.php b/tests/unit/Transformer/CyanMagentaYellowKeyTransformerTest.php index 48c466e..1160718 100644 --- a/tests/unit/Transformer/CyanMagentaYellowKeyTransformerTest.php +++ b/tests/unit/Transformer/CyanMagentaYellowKeyTransformerTest.php @@ -19,99 +19,10 @@ class CyanMagentaYellowKeyTransformerTest extends Unit */ public function validRgbValuesProvider(): array { - return [ - 'weiß' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.0, - 'yellow' => 0.0, - 'key' => 0.0, - ], - [ - 'red' => 1.0, - 'green' => 1.0, - 'blue' => 1.0, - ] - ], - 'schwarz' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.0, - 'yellow' => 0.0, - 'key' => 1.0, - ], - [ - 'red' => 0.0, - 'green' => 0.0, - 'blue' => 0.0, - ] - ], - 'cyan' => [ - [ - 'cyan' => 1.0, - 'magenta' => 0.0, - 'yellow' => 0.0, - 'key' => 0.0, - ], - [ - 'red' => 0.0, - 'green' => 1.0, - 'blue' => 1.0, - ] - ], - 'magenta' => [ - [ - 'cyan' => 0.0, - 'magenta' => 1.0, - 'yellow' => 0.0, - 'key' => 0.0, - ], - [ - 'red' => 1.0, - 'green' => 0.0, - 'blue' => 1.0, - ] - ], - 'gelb' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.0, - 'yellow' => 1.0, - 'key' => 0.0, - ], - [ - 'red' => 1.0, - 'green' => 1.0, - 'blue' => 0.0, - ] - ], - 'gold' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.13, - 'yellow' => 0.76, - 'key' => 0.13, - ], - [ - 'red' => 0.87, - 'green' => 0.757, - 'blue' => 0.209, - ] - ], - 'violet' => [ - [ - 'cyan' => 0.19, - 'magenta' => 0.32, - 'yellow' => 0.0, - 'key' => 0.29, - ], - [ - 'red' => 0.575, - 'green' => 0.482, - 'blue' => 0.71, - ] - ], - ]; + return (new ValidColorValuesProvider())->getValidColorValues([ + ValidColorValuesProvider::CMYK, + ValidColorValuesProvider::RGB + ]); } /** @@ -119,99 +30,10 @@ class CyanMagentaYellowKeyTransformerTest extends Unit */ public function validHsvValuesProvider(): array { - return [ - 'weiß' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.0, - 'yellow' => 0.0, - 'key' => 0.0, - ], - [ - 'hue' => 0.0, - 'saturation' => 0.0, - 'value' => 1.0, - ] - ], - 'schwarz' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.0, - 'yellow' => 0.0, - 'key' => 1.0, - ], - [ - 'hue' => 0.0, - 'saturation' => 0.0, - 'value' => 0.0, - ] - ], - 'cyan' => [ - [ - 'cyan' => 1.0, - 'magenta' => 0.0, - 'yellow' => 0.0, - 'key' => 0.0, - ], - [ - 'hue' => 0.5, - 'saturation' => 1.0, - 'value' => 1.0, - ] - ], - 'magenta' => [ - [ - 'cyan' => 0.0, - 'magenta' => 1.0, - 'yellow' => 0.0, - 'key' => 0.0, - ], - [ - 'hue' => 0.833, - 'saturation' => 1.0, - 'value' => 1.0, - ] - ], - 'gelb' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.0, - 'yellow' => 1.0, - 'key' => 0.0, - ], - [ - 'hue' => 0.167, - 'saturation' => 1.0, - 'value' => 1.0, - ] - ], - 'gold' => [ - [ - 'cyan' => 0.0, - 'magenta' => 0.13, - 'yellow' => 0.76, - 'key' => 0.13, - ], - [ - 'hue' => 0.138, - 'saturation' => 0.76, - 'value' => 0.87, - ] - ], - 'violet' => [ - [ - 'cyan' => 0.19, - 'magenta' => 0.32, - 'yellow' => 0.0, - 'key' => 0.29, - ], - [ - 'hue' => 0.734, - 'saturation' => 0.32, - 'value' => 0.71, - ] - ], - ]; + return (new ValidColorValuesProvider())->getValidColorValues([ + ValidColorValuesProvider::CMYK, + ValidColorValuesProvider::HSV + ]); } /** diff --git a/tests/unit/Transformer/ValidColorValuesProvider.php b/tests/unit/Transformer/ValidColorValuesProvider.php new file mode 100644 index 0000000..8f7fcfc --- /dev/null +++ b/tests/unit/Transformer/ValidColorValuesProvider.php @@ -0,0 +1,155 @@ + [ + self::CMYK => [ + 'cyan' => 0.0, + 'magenta' => 0.0, + 'yellow' => 0.0, + 'key' => 0.0, + ], + self::RGB => [ + 'red' => 1.0, + 'green' => 1.0, + 'blue' => 1.0, + ], + self::HSV => [ + 'hue' => 0.0, + 'saturation' => 0.0, + 'value' => 1.0, + ], + ], + 'schwarz' => [ + self::CMYK => [ + 'cyan' => 0.0, + 'magenta' => 0.0, + 'yellow' => 0.0, + 'key' => 1.0, + ], + self::RGB => [ + 'red' => 0.0, + 'green' => 0.0, + 'blue' => 0.0, + ], + self::HSV => [ + 'hue' => 0.0, + 'saturation' => 0.0, + 'value' => 0.0, + ], + ], + 'cyan' => [ + self::CMYK => [ + 'cyan' => 1.0, + 'magenta' => 0.0, + 'yellow' => 0.0, + 'key' => 0.0, + ], + self::RGB => [ + 'red' => 0.0, + 'green' => 1.0, + 'blue' => 1.0, + ], + self::HSV => [ + 'hue' => 0.5, + 'saturation' => 1.0, + 'value' => 1.0, + ], + ], + 'magenta' => [ + self::CMYK => [ + 'cyan' => 0.0, + 'magenta' => 1.0, + 'yellow' => 0.0, + 'key' => 0.0, + ], + self::RGB => [ + 'red' => 1.0, + 'green' => 0.0, + 'blue' => 1.0, + ], + self::HSV => [ + 'hue' => 0.833, + 'saturation' => 1.0, + 'value' => 1.0, + ], + ], + 'gelb' => [ + self::CMYK => [ + 'cyan' => 0.0, + 'magenta' => 0.0, + 'yellow' => 1.0, + 'key' => 0.0, + ], + self::RGB => [ + 'red' => 1.0, + 'green' => 1.0, + 'blue' => 0.0, + ], + self::HSV => [ + 'hue' => 0.167, + 'saturation' => 1.0, + 'value' => 1.0, + ], + ], + 'gold' => [ + self::CMYK => [ + 'cyan' => 0.0, + 'magenta' => 0.13, + 'yellow' => 0.76, + 'key' => 0.13, + ], + self::RGB => [ + 'red' => 0.87, + 'green' => 0.757, + 'blue' => 0.209, + ], + self::HSV => [ + 'hue' => 0.138, + 'saturation' => 0.76, + 'value' => 0.87, + ], + ], + 'violet' => [ + self::CMYK => [ + 'cyan' => 0.19, + 'magenta' => 0.32, + 'yellow' => 0.0, + 'key' => 0.29, + ], + self::RGB => [ + 'red' => 0.575, + 'green' => 0.482, + 'blue' => 0.71, + ], + self::HSV => [ + 'hue' => 0.734, + 'saturation' => 0.32, + 'value' => 0.71, + ], + ], + ]; + + public function getValidColorValues(array $order): array + { + $values = []; + foreach ($this->definitions as $color => $definition) { + $definitions = []; + foreach ($order as $key) { + $definitions[] = $definition[$key]; + } + $values[$color] = $definitions; + } + return $values; + } +} \ No newline at end of file