Completed
Push — master ( 0aa69f...1f2f47 )
by Hannes
04:03
created

ExpectationFactory   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 6

Importance

Changes 0
Metric Value
wmc 7
lcom 0
cbo 6
dl 0
loc 29
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B createExpectation() 0 19 7
1
<?php
2
3
namespace hanneskod\readmetester\Expectation;
4
5
/**
6
 * Create expectations from annotation data
7
 */
8
class ExpectationFactory
9
{
10
    /**
11
     * Create expectations from annotation data
12
     *
13
     * @param  string $name Name of expectation
14
     * @param  array  $args Expectation data
15
     * @return ExpectationInterface|null Null if no expectation could be created
16
     */
17
    public function createExpectation($name, array $args)
18
    {
19
        if (empty($args)) {
20
            $args[] = '';
21
        }
22
23
        switch (strtolower($name)) {
24
            case 'expectexception':
25
                return new ExceptionExpectation($args[0]);
26
            case 'expectoutput':
27
                return new OutputExpectation(new Regexp($args[0]));
28
            case 'expectreturntype':
29
                return new ReturnTypeExpectation($args[0]);
30
            case 'expectreturn':
31
                return new ReturnExpectation(new Regexp($args[0]));
32
            case 'expectnothing':
33
                return new NullExpectation;
34
        }
35
    }
36
}
37