Code Duplication    Length = 57-58 lines in 2 locations

src/Command/ChangeItemQuantity.php 1 location

@@ 9-65 (lines=57) @@
6
7
use Webmozart\Assert\Assert;
8
9
final class ChangeItemQuantity
10
{
11
    /**
12
     * @var string
13
     */
14
    private $orderToken;
15
16
    /**
17
     * @var mixed
18
     */
19
    private $itemIdentifier;
20
21
    /**
22
     * @var int
23
     */
24
    private $quantity;
25
26
    /**
27
     * @param string $orderToken
28
     * @param mixed $itemIdentifier
29
     * @param int $quantity
30
     */
31
    public function __construct($orderToken, $itemIdentifier, $quantity)
32
    {
33
        Assert::string($orderToken, 'Expected order token to be string, got %s');
34
        Assert::integer($quantity, 'Expected quantity to be integer, got %s');
35
        Assert::greaterThan($quantity, 0, 'Quantity should be greater than 0');
36
37
        $this->orderToken = $orderToken;
38
        $this->itemIdentifier = $itemIdentifier;
39
        $this->quantity = $quantity;
40
    }
41
42
    /**
43
     * @return string
44
     */
45
    public function orderToken()
46
    {
47
        return $this->orderToken;
48
    }
49
50
    /**
51
     * @return mixed
52
     */
53
    public function itemIdentifier()
54
    {
55
        return $this->itemIdentifier;
56
    }
57
58
    /**
59
     * @return int
60
     */
61
    public function quantity()
62
    {
63
        return $this->quantity;
64
    }
65
}
66

src/Command/PutSimpleItemToCart.php 1 location

@@ 9-66 (lines=58) @@
6
7
use Webmozart\Assert\Assert;
8
9
final class PutSimpleItemToCart
10
{
11
    /**
12
     * @var string
13
     */
14
    private $orderToken;
15
16
    /**
17
     * @var string
18
     */
19
    private $product;
20
21
    /**
22
     * @var int
23
     */
24
    private $quantity;
25
26
    /**
27
     * @param string $orderToken
28
     * @param string $product
29
     * @param int $quantity
30
     */
31
    public function __construct($orderToken, $product, $quantity)
32
    {
33
        Assert::string($orderToken, 'Expected order token to be string, got %s');
34
        Assert::string($product, 'Expected product code to be string, got %s');
35
        Assert::integer($quantity, 'Expected quantity to be integer, got %s');
36
        Assert::greaterThan($quantity, 0, 'Quantity should be greater than 0');
37
38
        $this->orderToken = $orderToken;
39
        $this->product = $product;
40
        $this->quantity = $quantity;
41
    }
42
43
    /**
44
     * @return string
45
     */
46
    public function orderToken()
47
    {
48
        return $this->orderToken;
49
    }
50
51
    /**
52
     * @return string
53
     */
54
    public function product()
55
    {
56
        return $this->product;
57
    }
58
59
    /**
60
     * @return int
61
     */
62
    public function quantity()
63
    {
64
        return $this->quantity;
65
    }
66
}
67