Die Daten der 'DataProvider' unterscheiden sich zu wenig. Es ist besser die Erzeugung der Daten in eine Klasse auszulagern.

This commit is contained in:
2021-03-09 13:39:26 +01:00
parent cbffe32b8f
commit c832f0344c
2 changed files with 163 additions and 186 deletions
@@ -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
]);
}
/**
@@ -0,0 +1,155 @@
<?php
namespace TorstenHettstedtUnitTests\Colors\Transformer;
class ValidColorValuesProvider
{
const CMYK = 'cmyk';
const RGB = 'rgb';
const HSV = 'hsv';
protected array $definitions = [
'weiß' => [
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;
}
}