FizzNumberRule::generateValidAnswer()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 8
rs 9.4285
cc 2
eloc 4
nc 2
nop 1
1
<?php
2
3
namespace FizzBuzzDomain\Rules;
4
5
use GameDomain\Exceptions\IrrelevantRuleException;
6
use GameDomain\Round\Step\Answer;
7
use GameDomain\Rule\AbstractRule;
8
9
/**
10
 * Fizz Number Rule
11
 */
12
final class FizzNumberRule extends AbstractRule
13
{
14
    const TRIGGER_NUMBER = 3;
15
    const VALID_ANSWER = 'Fizz';
16
17
    /**
18
     * {@inheritDoc}
19
     */
20
    public function generateValidAnswer($number)
21
    {
22
        if (0 === ($number % static::TRIGGER_NUMBER)) {
23
            return new Answer(static::VALID_ANSWER);
24
        }
25
26
        throw new IrrelevantRuleException();
27
    }
28
}
29