ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ClosedIntegerInterval.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2019 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
8 namespace ILIAS\Data\Interval;
9 
11 
13 {
17  private $range;
18 
24  public function __construct(int $minimum, int $maximum)
25  {
26  if ($minimum === $maximum) {
28  sprintf('The maximum("%s") and minimum("%s") can NOT be the same', $maximum, $minimum),
29  'exception_maximum_minimum_same',
30  $maximum,
31  $minimum
32  );
33  }
34 
35  $this->range = new OpenedIntegerInterval($minimum, $maximum);
36  }
37 
42  public function spans(int $numberToCheck) : bool
43  {
44  if ($numberToCheck <= $this->range->minimum()) {
45  return false;
46  } elseif ($numberToCheck >= $this->range->maximum()) {
47  return false;
48  }
49 
50  return true;
51  }
52 
56  public function minimum() : int
57  {
58  return $this->range->minimum();
59  }
60 
64  public function maximum() : int
65  {
66  return $this->range->maximum();
67  }
68 }