Completed
Push — master ( ec767e...aab99d )
by Peter
07:35 queued 10s
created

SpecSpec::it_creates_mod_operand()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace tests\Happyr\DoctrineSpecification;
4
5
use Happyr\DoctrineSpecification\Filter\MemberOfX;
6
use Happyr\DoctrineSpecification\Logic\LogicX;
7
use Happyr\DoctrineSpecification\Operand\Addition;
8
use Happyr\DoctrineSpecification\Operand\Alias;
9
use Happyr\DoctrineSpecification\Operand\BitAnd;
10
use Happyr\DoctrineSpecification\Operand\BitOr;
11
use Happyr\DoctrineSpecification\Operand\Division;
12
use Happyr\DoctrineSpecification\Operand\Modulo;
13
use Happyr\DoctrineSpecification\Operand\Multiplication;
14
use Happyr\DoctrineSpecification\Operand\PlatformFunction;
15
use Happyr\DoctrineSpecification\Operand\Subtraction;
16
use Happyr\DoctrineSpecification\Query\AddSelect;
17
use Happyr\DoctrineSpecification\Query\Select;
18
use Happyr\DoctrineSpecification\Query\Selection\SelectAs;
19
use Happyr\DoctrineSpecification\Query\Selection\SelectEntity;
20
use Happyr\DoctrineSpecification\Query\Selection\SelectHiddenAs;
21
use Happyr\DoctrineSpecification\Spec;
22
use PhpSpec\ObjectBehavior;
23
24
/**
25
 * @mixin Spec
26
 */
27
class SpecSpec extends ObjectBehavior
28
{
29
    public function it_creates_an_x_specification()
30
    {
31
        $this->andX()->shouldReturnAnInstanceOf(LogicX::class);
32
    }
33
34
    public function it_creates_add_operand()
35
    {
36
        $this->add('foo', 'bar')->shouldReturnAnInstanceOf(Addition::class);
37
    }
38
39
    public function it_creates_sub_operand()
40
    {
41
        $this->sub('foo', 'bar')->shouldReturnAnInstanceOf(Subtraction::class);
42
    }
43
44
    public function it_creates_mul_operand()
45
    {
46
        $this->mul('foo', 'bar')->shouldReturnAnInstanceOf(Multiplication::class);
47
    }
48
49
    public function it_creates_div_operand()
50
    {
51
        $this->div('foo', 'bar')->shouldReturnAnInstanceOf(Division::class);
52
    }
53
54
    public function it_creates_mod_operand()
55
    {
56
        $this->mod('foo', 'bar')->shouldReturnAnInstanceOf(Modulo::class);
57
    }
58
59
    public function it_create_bit_and_operand()
60
    {
61
        $this->bAnd('foo', 'bar')->shouldReturnAnInstanceOf(BitAnd::class);
62
    }
63
64
    public function it_create_bit_or_operand()
65
    {
66
        $this->bOr('foo', 'bar')->shouldReturnAnInstanceOf(BitOr::class);
67
    }
68
69
    public function it_creates_an_function()
70
    {
71
        $this->fun('UPPER', 'arg')->shouldReturnAnInstanceOf(PlatformFunction::class);
72
    }
73
74
    public function it_creates_an_function_with_many_args()
75
    {
76
        $this->fun('CONCAT', 'a', 'b')->shouldReturnAnInstanceOf(PlatformFunction::class);
77
    }
78
79
    public function it_creates_an_function_with_many_args_as_array()
80
    {
81
        $this->fun('CONCAT', ['a', 'b'])->shouldReturnAnInstanceOf(PlatformFunction::class);
82
    }
83
84
    public function it_creates_an_magic_function()
85
    {
86
        $this->__callStatic('UPPER', ['arg'])->shouldReturnAnInstanceOf(PlatformFunction::class);
87
    }
88
89
    public function it_creates_an_magic_function_many_args()
90
    {
91
        $this->__callStatic('CONCAT', ['a', 'b'])->shouldReturnAnInstanceOf(PlatformFunction::class);
92
    }
93
94
    public function it_creates_an_magic_function_many_args_inner()
95
    {
96
        $this->__callStatic('CONCAT', [['a', 'b']])->shouldReturnAnInstanceOf(PlatformFunction::class);
97
    }
98
99
    public function it_creates_select_query_modifier()
100
    {
101
        $this->select('foo')->shouldReturnAnInstanceOf(Select::class);
102
    }
103
104
    public function it_creates_add_select_query_modifier()
105
    {
106
        $this->addSelect('foo')->shouldReturnAnInstanceOf(AddSelect::class);
107
    }
108
109
    public function it_creates_select_entity_selection()
110
    {
111
        $this->selectEntity('u')->shouldReturnAnInstanceOf(SelectEntity::class);
112
    }
113
114
    public function it_creates_select_as_selection()
115
    {
116
        $this->selectAs('foo', 'bar')->shouldReturnAnInstanceOf(SelectAs::class);
117
    }
118
119
    public function it_creates_select_hidden_as_selection()
120
    {
121
        $this->selectHiddenAs('foo', 'bar')->shouldReturnAnInstanceOf(SelectHiddenAs::class);
122
    }
123
124
    public function it_creates_alias_operand()
125
    {
126
        $this->alias('foo')->shouldReturnAnInstanceOf(Alias::class);
127
    }
128
129
    public function it_creates_member_of_filter()
130
    {
131
        $this->memberOfX('foo', 'bar')->shouldReturnAnInstanceOf(MemberOfX::class);
132
    }
133
}
134