Completed
Push — scrutinizer ( 42ac6a...7bc18e )
by z38
02:40
created

Mixed   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 75%

Importance

Changes 4
Bugs 0 Features 2
Metric Value
wmc 4
c 4
b 0
f 2
lcom 1
cbo 1
dl 0
loc 42
ccs 6
cts 8
cp 0.75
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getCurrency() 0 4 1
A getDecimals() 0 4 1
A plus() 0 4 1
A minus() 0 4 1
1
<?php
2
3
namespace Z38\SwissPayment\Money;
4
5
/**
6
 * Sum of money in mixed currencies
7
 */
8
class Mixed extends Money
9
{
10
    /**
11
     * {@inheritdoc}
12
     */
13
    final public function getCurrency()
14
    {
15
        return null;
16
    }
17
18
    /**
19
     * {@inheritdoc}
20
     */
21 2
    final protected function getDecimals()
22
    {
23 2
        return 2;
24
    }
25
26
    /**
27
     * Returns the sum of this and an other amount of money
28
     *
29
     * @param Money $addend The addend
30
     *
31
     * @return Money The sum
32
     */
33 3
    public function plus(Money $addend)
34
    {
35 3
        return new static($this->cents + $addend->cents);
36
    }
37
38
    /**
39
     * Returns the subtraction of this and an other amount of money
40
     *
41
     * @param Money $subtrahend The subtrahend
42
     *
43
     * @return Money The difference
44
     */
45 1
    public function minus(Money $subtrahend)
46
    {
47 1
        return new static($this->cents - $subtrahend->cents);
48
    }
49
}
50