From 9d2318d828ce28c53d43d86e704401a7e7f0471b Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Fri, 11 Feb 2022 19:33:29 +0100 Subject: [PATCH] Added ModifierStack class --- src/ModifierStack.php | 28 ++++++++++++++++++++++++++++ tests/ModiferStackTest.php | 25 +++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 src/ModifierStack.php create mode 100644 tests/ModiferStackTest.php diff --git a/src/ModifierStack.php b/src/ModifierStack.php new file mode 100644 index 00000000..13eac80a --- /dev/null +++ b/src/ModifierStack.php @@ -0,0 +1,28 @@ +modifiers as $modifier) { + $modifier->apply($image); + } + } + + public function push(ModifierInterface $modifier): self + { + $this->modifiers[] = $modifier; + + return $this; + } +} diff --git a/tests/ModiferStackTest.php b/tests/ModiferStackTest.php new file mode 100644 index 00000000..8577d3c1 --- /dev/null +++ b/tests/ModiferStackTest.php @@ -0,0 +1,25 @@ +assertInstanceOf(ModifierStack::class, $stack); + } + + public function testPush(): void + { + $stack = new ModifierStack([]); + $result = $stack->push(new GreyscaleModifier()); + $this->assertInstanceOf(ModifierStack::class, $result); + } +}