ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
LogicalOrTest.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'libs/composer/vendor/autoload.php';
5 
6 use ILIAS\Data;
9 
15 {
22  public function testAccept(LogicalOr $constraint, $okValue, $errorValue)
23  {
24  $this->assertTrue($constraint->accepts($okValue));
25  $this->assertFalse($constraint->accepts($errorValue));
26  }
27 
34  public function testCheck(LogicalOr $constraint, $okValue, $errorValue)
35  {
36  $raised = false;
37 
38  try {
39  $constraint->check($errorValue);
40  } catch (\UnexpectedValueException $e) {
41  $raised = true;
42  }
43 
44  $this->assertTrue($raised);
45 
46  try {
47  $constraint->check($okValue);
48  $raised = false;
49  } catch (\UnexpectedValueException $e) {
50  $raised = true;
51  }
52 
53  $this->assertFalse($raised);
54  }
55 
62  public function testProblemWith(LogicalOr $constraint, $okValue, $errorValue)
63  {
64  $this->assertNull($constraint->problemWith($okValue));
65  $this->assertInternalType('string', $constraint->problemWith($errorValue));
66  }
67 
74  public function testRestrict(LogicalOr $constraint, $okValue, $errorValue)
75  {
76  $rf = new Data\Factory();
77  $ok = $rf->ok($okValue);
78  $ok2 = $rf->ok($errorValue);
79  $error = $rf->error('text');
80 
81  $result = $constraint->restrict($ok);
82  $this->assertTrue($result->isOk());
83 
84  $result = $constraint->restrict($ok2);
85  $this->assertTrue($result->isError());
86 
87  $result = $constraint->restrict($error);
88  $this->assertSame($error, $result);
89  }
90 
97  public function testWithProblemBuilder(LogicalOr $constraint, $okValue, $errorValue)
98  {
99  $new_constraint = $constraint->withProblemBuilder(function () {
100  return "This was a vault";
101  });
102  $this->assertEquals("This was a vault", $new_constraint->problemWith($errorValue));
103  }
104 
108  public function constraintsProvider() : array
109  {
110  $mock = $this->getMockBuilder(\ilLanguage::class)->disableOriginalConstructor()->getMock();
111  $f = new Validation\Factory(new Data\Factory(), $mock);
112 
113  return [
114  [$f->or([$f->isInt(), $f->isString()]), '5', []],
115  [$f->or([$f->greaterThan(5), $f->lessThan(2)]), 7, 3]
116  ];
117  }
118 }
$result
check($value)
Checks the provided value.Should not throw if accepts($value).
Definition: Custom.php:60
testRestrict(LogicalOr $constraint, $okValue, $errorValue)
constraintsProvider
testAccept(LogicalOr $constraint, $okValue, $errorValue)
constraintsProvider
testProblemWith(LogicalOr $constraint, $okValue, $errorValue)
constraintsProvider
accepts($value)
Tells if the provided value complies.bool
Definition: Custom.php:72
problemWith($value)
Tells what the problem with the provided value is.Should return null if accepts($value).string|null
Definition: Custom.php:80
withProblemBuilder(callable $builder)
Get a constraint like this one with a builder for a custom error message.problemWith() must return an...
Definition: Custom.php:110
Builds data types.
Definition: Factory.php:14
restrict(Result $result)
Restricts a Result.Must do nothing with the result if $result->isError(). Must replace the result wit...
Definition: Custom.php:92
Class LogicalOrTest.
testCheck(LogicalOr $constraint, $okValue, $errorValue)
constraintsProvider
testWithProblemBuilder(LogicalOr $constraint, $okValue, $errorValue)
constraintsProvider