mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-14 22:21:20 +00:00
To improve readability, restore coding standards using ecs
This commit is contained in:
parent
b2bac6c2a9
commit
ece62c0dce
@ -11,11 +11,14 @@ class BackstagePassItem implements GildedRoseItem
|
||||
{
|
||||
public const NAME = 'Backstage passes to a TAFKAL80ETC concert';
|
||||
|
||||
public function __construct(private Item $item) {}
|
||||
public function __construct(
|
||||
private Item $item
|
||||
) {
|
||||
}
|
||||
|
||||
public function ageByOneDay(): void
|
||||
{
|
||||
$this->item->sellIn -= 1;
|
||||
--$this->item->sellIn;
|
||||
$this->item->quality = min(50, $this->getNewQuality($this->item->quality, $this->item->sellIn));
|
||||
}
|
||||
|
||||
|
||||
@ -11,11 +11,14 @@ class BrieItem implements GildedRoseItem
|
||||
{
|
||||
public const NAME = 'Aged Brie';
|
||||
|
||||
public function __construct(private Item $item) {}
|
||||
public function __construct(
|
||||
private Item $item
|
||||
) {
|
||||
}
|
||||
|
||||
public function ageByOneDay(): void
|
||||
{
|
||||
$this->item->sellIn -= 1;
|
||||
--$this->item->sellIn;
|
||||
$this->item->quality = min(50, $this->getNewQuality($this->item->quality, $this->item->sellIn));
|
||||
}
|
||||
|
||||
|
||||
@ -11,11 +11,14 @@ class ConjuredItem implements GildedRoseItem
|
||||
{
|
||||
public const NAME = 'Conjured Mana Cake';
|
||||
|
||||
public function __construct(private Item $item) {}
|
||||
public function __construct(
|
||||
private Item $item
|
||||
) {
|
||||
}
|
||||
|
||||
public function ageByOneDay(): void
|
||||
{
|
||||
$this->item->sellIn -= 1;
|
||||
--$this->item->sellIn;
|
||||
$this->item->quality = max(0, $this->getNewQuality($this->item->quality, $this->item->sellIn));
|
||||
}
|
||||
|
||||
|
||||
@ -9,11 +9,14 @@ use GildedRose\Item;
|
||||
|
||||
class DefaultItem implements GildedRoseItem
|
||||
{
|
||||
public function __construct(private Item $item) {}
|
||||
public function __construct(
|
||||
private Item $item
|
||||
) {
|
||||
}
|
||||
|
||||
public function ageByOneDay(): void
|
||||
{
|
||||
$this->item->sellIn -= 1;
|
||||
--$this->item->sellIn;
|
||||
$this->item->quality = max(0, $this->getNewQuality($this->item->quality, $this->item->sellIn));
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,10 @@ class SulfurasItem implements GildedRoseItem
|
||||
{
|
||||
public const NAME = 'Sulfuras, Hand of Ragnaros';
|
||||
|
||||
public function __construct(private Item $item) {}
|
||||
public function __construct(
|
||||
private Item $item
|
||||
) {
|
||||
}
|
||||
|
||||
public function ageByOneDay(): void
|
||||
{
|
||||
|
||||
@ -4,11 +4,11 @@ declare(strict_types=1);
|
||||
|
||||
namespace GildedRose;
|
||||
|
||||
use GildedRose\GildedRoseItem\BrieItem;
|
||||
use GildedRose\GildedRoseItem\BackstagePassItem;
|
||||
use GildedRose\GildedRoseItem\BrieItem;
|
||||
use GildedRose\GildedRoseItem\ConjuredItem;
|
||||
use GildedRose\GildedRoseItem\SulfurasItem;
|
||||
use GildedRose\GildedRoseItem\DefaultItem;
|
||||
use GildedRose\GildedRoseItem\SulfurasItem;
|
||||
|
||||
class GildedRoseItemFactory
|
||||
{
|
||||
|
||||
@ -1,26 +1,22 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace BehatTests;
|
||||
|
||||
use Behat\Behat\Tester\Exception\PendingException;
|
||||
use Behat\Behat\Context\Context;
|
||||
use Behat\Step\Given;
|
||||
use Behat\Step\Then;
|
||||
use Behat\Step\When;
|
||||
use GildedRose\Item;
|
||||
use GildedRose\GildedRose;
|
||||
use GildedRose\Item;
|
||||
use PHPUnit\Framework\Assert;
|
||||
|
||||
class ServiceLevelContext implements Context
|
||||
{
|
||||
private Item $item;
|
||||
private GildedRose $gildedRose;
|
||||
|
||||
private function createItem(string $name, int $initialSellIn, int $initialQuality): void
|
||||
{
|
||||
$this->item = new Item($name, $initialSellIn, $initialQuality);
|
||||
$this->gildedRose = new GildedRose([$this->item]);
|
||||
}
|
||||
private GildedRose $gildedRose;
|
||||
|
||||
#[Then('I should see :expectedOutput')]
|
||||
public function iShouldSee(string $expectedOutput): void
|
||||
@ -90,4 +86,10 @@ class ServiceLevelContext implements Context
|
||||
{
|
||||
$this->createItem('Conjured Mana Cake', $initialSellIn, $initialQuality);
|
||||
}
|
||||
|
||||
private function createItem(string $name, int $initialSellIn, int $initialQuality): void
|
||||
{
|
||||
$this->item = new Item($name, $initialSellIn, $initialQuality);
|
||||
$this->gildedRose = new GildedRose([$this->item]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,10 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace PhpUnitTests\GildedRoseItem;
|
||||
|
||||
use ApprovalTests\Approvals;
|
||||
use GildedRose\GildedRoseItem;
|
||||
use GildedRose\GildedRoseItem\BackstagePassItem;
|
||||
use GildedRose\GildedRoseItemFactory;
|
||||
use GildedRose\Item;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
|
||||
@ -4,10 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace PhpUnitTests\GildedRoseItem;
|
||||
|
||||
use ApprovalTests\Approvals;
|
||||
use GildedRose\GildedRoseItem;
|
||||
use GildedRose\GildedRoseItem\BrieItem;
|
||||
use GildedRose\GildedRoseItemFactory;
|
||||
use GildedRose\Item;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
|
||||
@ -4,10 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace PhpUnitTests\GildedRoseItem;
|
||||
|
||||
use ApprovalTests\Approvals;
|
||||
use GildedRose\GildedRoseItem;
|
||||
use GildedRose\GildedRoseItem\ConjuredItem;
|
||||
use GildedRose\GildedRoseItemFactory;
|
||||
use GildedRose\Item;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
|
||||
@ -4,10 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace PhpUnitTests\GildedRoseItem;
|
||||
|
||||
use ApprovalTests\Approvals;
|
||||
use GildedRose\GildedRoseItem;
|
||||
use GildedRose\GildedRoseItem\DefaultItem;
|
||||
use GildedRose\GildedRoseItemFactory;
|
||||
use GildedRose\Item;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
|
||||
@ -4,10 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace PhpUnitTests\GildedRoseItem;
|
||||
|
||||
use ApprovalTests\Approvals;
|
||||
use GildedRose\GildedRoseItem;
|
||||
use GildedRose\GildedRoseItem\SulfurasItem;
|
||||
use GildedRose\GildedRoseItemFactory;
|
||||
use GildedRose\Item;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
|
||||
@ -4,10 +4,9 @@ declare(strict_types=1);
|
||||
|
||||
namespace PhpUnitTests;
|
||||
|
||||
use ApprovalTests\Approvals;
|
||||
use GildedRose\GildedRoseItem;
|
||||
use GildedRose\GildedRoseItem\BrieItem;
|
||||
use GildedRose\GildedRoseItem\BackstagePassItem;
|
||||
use GildedRose\GildedRoseItem\BrieItem;
|
||||
use GildedRose\GildedRoseItem\ConjuredItem;
|
||||
use GildedRose\GildedRoseItem\DefaultItem;
|
||||
use GildedRose\GildedRoseItem\SulfurasItem;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user