Completed
Push — Lonja/albertc ( 7a2bf6 )
by Albert
20:41 queued 16:20
created

StrategiesConfig   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 7
dl 0
loc 29
ccs 0
cts 19
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B instance() 0 24 1
1
<?php
2
3
namespace Kata\Application\CityPriceStrategy;
4
5
use Kata\Domain\City\Model\City;
6
use Kata\Domain\City\ValueObject\CityId;
7
use Kata\Domain\Common\ValueObject\Price;
8
use Kata\Domain\Product\Model\Product;
9
use Kata\Domain\Product\ValueObject\ProductId;
10
11
class StrategiesConfig
12
{
13
    public $strategies = [];
14
15
    public static function instance()
16
    {
17
        $strategies = Strategies::instance();
18
19
        $BCN = City::instance(CityId::instance(),'BCN');
20
        $MAD = City::instance(CityId::instance(),'MAD');
21
        $LBN = City::instance(CityId::instance(),'LBN');
22
23
        $productVierira = Product::instance(ProductId::instance(), 'vieira');
24
        $productPulpo = Product::instance(ProductId::instance(), 'pulpo');
25
        $productCentollo = Product::instance(ProductId::instance(), 'centollo');
26
27
        $strategies->add($BCN, PriceStrategy::instance($productVierira, Price::instance(450, 'EUR')));
28
        $strategies->add($BCN, PriceStrategy::instance($productPulpo, Price::instance(120, 'EUR')));
29
        $strategies->add($BCN, PriceStrategy::instance($productCentollo, Price::instance(0, 'EUR')));
30
31
        $strategies->add($MAD, PriceStrategy::instance($productVierira, Price::instance(500, 'EUR')));
32
        $strategies->add($MAD, PriceStrategy::instance($productPulpo, Price::instance(0, 'EUR')));
33
        $strategies->add($MAD, PriceStrategy::instance($productCentollo, Price::instance(450, 'EUR')));
34
35
        $strategies->add($LBN, PriceStrategy::instance($productVierira, Price::instance(600, 'EUR')));
36
        $strategies->add($LBN, PriceStrategy::instance($productPulpo, Price::instance(100, 'EUR')));
37
        $strategies->add($LBN, PriceStrategy::instance($productCentollo, Price::instance(00, 'EUR')));
38
    }
39
}
40