ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ClosedIntegerIntervalTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2019 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4
5namespace ILIAS\Data;
6
9use PHPUnit\Framework\TestCase;
10
11require_once("./libs/composer/vendor/autoload.php");
12
16class ClosedIntegerIntervalTest extends TestCase
17{
21 public function testRangeIsAccepted()
22 {
23 $range = new ClosedIntegerInterval(3, 100);
24
25 $this->assertEquals(3, $range->minimum());
26 $this->assertEquals(100, $range->maximum());
27 }
28
29 public function testValueIsInRange()
30 {
31 $range = new ClosedIntegerInterval(3, 100);
32
33 $this->assertTrue($range->spans(50));
34 }
35
37 {
38 $range = new ClosedIntegerInterval(3, 100);
39
40 $this->assertFalse($range->spans(3));
41 }
42
44 {
45 $range = new ClosedIntegerInterval(3, 100);
46
47 $this->assertFalse($range->spans(3));
48 }
49
51 {
52 $range = new ClosedIntegerInterval(3, 100);
53
54 $this->assertFalse($range->spans(1));
55 }
56
58 {
59 $range = new ClosedIntegerInterval(3, 100);
60
61 $this->assertFalse($range->spans(101));
62 }
63
65 {
66 $this->expectNotToPerformAssertions();
67
68 try {
69 $range = new ClosedIntegerInterval(3, 1);
70 } catch (ConstraintViolationException $exception) {
71 return;
72 }
73 $this->fail();
74 }
75
77 {
78 $this->expectNotToPerformAssertions();
79
80 try {
81 $range = new ClosedIntegerInterval(3, 1);
82 } catch (ConstraintViolationException $exception) {
83 return;
84 }
85 $this->fail();
86 }
87
91 public function testHexIsAllowForRanges()
92 {
93 $range = new ClosedIntegerInterval(0x3, 0xA);
94
95 $this->assertSame($range->minimum(), 3);
96 $this->assertSame($range->maximum(), 10);
97 }
98
103 {
104 $range = new ClosedIntegerInterval(0b11, 0b1010);
105
106 $this->assertSame($range->minimum(), 3);
107 $this->assertSame($range->maximum(), 10);
108 }
109}
An exception for terminatinating execution or to throw for unit testing.