ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
GroupTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24use ILIAS\Refinery\Integer\Group as IntegerGroup;
27use PHPUnit\Framework\TestCase;
30use ILIAS\Refinery\In\Group as InGroup;
33
34class GroupTest extends TestCase
35{
36 private IntegerGroup $group;
37
38 protected function setUp(): void
39 {
40 $dataFactory = new Factory();
41 $language = $this->getMockBuilder(Language::class)
42 ->disableOriginalConstructor()
43 ->getMock();
44 $in = $this->getMockBuilder(InGroup::class)
45 ->disableOriginalConstructor()
46 ->getMock();
47
48 $this->group = new IntegerGroup($dataFactory, $language, $in);
49 }
50
51 public function testGreaterThanInstance(): void
52 {
53 $instance = $this->group->isGreaterThan(42);
54 $this->assertInstanceOf(GreaterThan::class, $instance);
55 }
56 public function testLowerThanInstance(): void
57 {
58 $instance = $this->group->isLessThan(42);
59 $this->assertInstanceOf(LessThan::class, $instance);
60 }
61
62 public function testGreaterThanOrEqualInstance(): void
63 {
64 $instance = $this->group->isGreaterThanOrEqual(42);
65 $this->assertInstanceOf(GreaterThanOrEqual::class, $instance);
66 }
67
68 public function testLessThanOrEqualInstance(): void
69 {
70 $instance = $this->group->isLessThanOrEqual(42);
71 $this->assertInstanceOf(LessThanOrEqual::class, $instance);
72 }
73
74 public function testIsBetween(): void
75 {
76 $dataFactory = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
77 $language = $this->getMockBuilder(Language::class)->disableOriginalConstructor()->getMock();
78 $in = $this->getMockBuilder(InGroup::class)->disableOriginalConstructor()->getMock();
79 $series = $this->getMockBuilder(Constraint::class)->getMock();
80
81 $in->expects(self::once())->method('series')->willReturnCallback(function (array $array) use ($series) {
82 $this->assertSame(2, count($array));
83 $this->assertInstanceOf(GreaterThanOrEqual::class, $array[0]);
84 $this->assertInstanceOf(LessThanOrEqual::class, $array[1]);
85
86 return $series;
87 });
88
89 $group = new IntegerGroup($dataFactory, $language, $in);
90 $this->assertSame($series, $group->isBetween(4, 8));
91 }
92}
Builds data types.
Definition: Factory.php:36
A constraint encodes some resrtictions on values.
Definition: Constraint.php:32