ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
GroupTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
24 use ILIAS\Refinery\Integer\Group as IntegerGroup;
30 use ILIAS\Refinery\In\Group as InGroup;
33 
34 class 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 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Builds data types.
Definition: Factory.php:35