From 7eb16e1aa5ec6dae2ac115de2fda4b2d6197aa1e Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sat, 2 Mar 2024 11:17:12 +0100 Subject: [PATCH] Add tests for importing colors into foreign color spaces --- tests/Unit/Colors/Cmyk/ColorspaceTest.php | 7 +++++++ tests/Unit/Colors/Hsl/ColorspaceTest.php | 6 ++++++ tests/Unit/Colors/Hsv/ColorspaceTest.php | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/tests/Unit/Colors/Cmyk/ColorspaceTest.php b/tests/Unit/Colors/Cmyk/ColorspaceTest.php index c70b19c7..83cf00d9 100644 --- a/tests/Unit/Colors/Cmyk/ColorspaceTest.php +++ b/tests/Unit/Colors/Cmyk/ColorspaceTest.php @@ -47,6 +47,13 @@ final class ColorspaceTest extends BaseTestCase $this->assertEquals(0, $result->channel(Magenta::class)->value()); $this->assertEquals(0, $result->channel(Yellow::class)->value()); $this->assertEquals(50, $result->channel(Key::class)->value()); + + $result = $colorspace->importColor(new RgbColor(127, 127, 127, 85)); + $this->assertInstanceOf(CmykColor::class, $result); + $this->assertEquals(0, $result->channel(Cyan::class)->value()); + $this->assertEquals(0, $result->channel(Magenta::class)->value()); + $this->assertEquals(0, $result->channel(Yellow::class)->value()); + $this->assertEquals(50, $result->channel(Key::class)->value()); } public function testImportHsvColor(): void diff --git a/tests/Unit/Colors/Hsl/ColorspaceTest.php b/tests/Unit/Colors/Hsl/ColorspaceTest.php index 3a1e0bfb..11574012 100644 --- a/tests/Unit/Colors/Hsl/ColorspaceTest.php +++ b/tests/Unit/Colors/Hsl/ColorspaceTest.php @@ -43,6 +43,12 @@ final class ColorspaceTest extends BaseTestCase $this->assertEquals(0, $result->channel(Hue::class)->value()); $this->assertEquals(0, $result->channel(Saturation::class)->value()); $this->assertEquals(50, $result->channel(Luminance::class)->value()); + + $result = $colorspace->importColor(new RgbColor(255, 0, 0, 85)); + $this->assertInstanceOf(HslColor::class, $result); + $this->assertEquals(0, $result->channel(Hue::class)->value()); + $this->assertEquals(100, $result->channel(Saturation::class)->value()); + $this->assertEquals(50, $result->channel(Luminance::class)->value()); } public function testImportCmykColor(): void diff --git a/tests/Unit/Colors/Hsv/ColorspaceTest.php b/tests/Unit/Colors/Hsv/ColorspaceTest.php index 1eb89459..ed6867a1 100644 --- a/tests/Unit/Colors/Hsv/ColorspaceTest.php +++ b/tests/Unit/Colors/Hsv/ColorspaceTest.php @@ -43,6 +43,12 @@ final class ColorspaceTest extends BaseTestCase $this->assertEquals(0, $result->channel(Hue::class)->value()); $this->assertEquals(0, $result->channel(Saturation::class)->value()); $this->assertEquals(50, $result->channel(Value::class)->value()); + + $result = $colorspace->importColor(new RgbColor(127, 127, 127, 85)); + $this->assertInstanceOf(HsvColor::class, $result); + $this->assertEquals(0, $result->channel(Hue::class)->value()); + $this->assertEquals(0, $result->channel(Saturation::class)->value()); + $this->assertEquals(50, $result->channel(Value::class)->value()); } public function testImportCmykColor(): void