ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ResultTest Class Reference

Tests working with result object. More...

+ Inheritance diagram for ResultTest:
+ Collaboration diagram for ResultTest:

Public Member Functions

 testValue ()
 
 testNoValue ()
 
 testIsOk ()
 
 testError ()
 
 testNoError ()
 
 testIsError ()
 
 testValueOr ()
 
 testValueOrDefault ()
 
 testMapOk ()
 
 testMapError ()
 
 testThenOk ()
 
 testThenCallableNull ()
 
 testThenError ()
 
 testThenNoResult ()
 
 testExceptError ()
 
 testExceptCallableNull ()
 
 testExceptOk ()
 
 testExceptNoResult ()
 

Protected Member Functions

 setUp ()
 
 tearDown ()
 

Detailed Description

Tests working with result object.

Author
Stefan Hecken stefa.nosp@m.n.he.nosp@m.cken@.nosp@m.conc.nosp@m.epts-.nosp@m.and-.nosp@m.train.nosp@m.ing..nosp@m.de

Definition at line 14 of file ResultTest.php.

Member Function Documentation

◆ setUp()

ResultTest::setUp ( )
protected

Definition at line 16 of file ResultTest.php.

16  : void
17  {
18  $this->f = new Data\Factory();
19  }

◆ tearDown()

ResultTest::tearDown ( )
protected

Definition at line 21 of file ResultTest.php.

21  : void
22  {
23  $this->f = null;
24  }

◆ testError()

ResultTest::testError ( )

Definition at line 53 of file ResultTest.php.

References $result.

54  {
55  $result = $this->f->error("Something went wrong");
56  $this->assertEquals("Something went wrong", $result->error());
57  }
$result

◆ testExceptCallableNull()

ResultTest::testExceptCallableNull ( )

Definition at line 186 of file ResultTest.php.

References $result.

187  {
188  $result = $this->f->error("Something went wrong");
189  $exception = "Something else went wrong";
190 
191  $new_result = $result->except(function ($v) {
192  return null;
193  });
194 
195  $this->assertInstanceOf(Data\Result::class, $new_result);
196  $this->assertEquals($result, $new_result);
197  }
$result

◆ testExceptError()

ResultTest::testExceptError ( )

Definition at line 171 of file ResultTest.php.

References $result, and $ret.

172  {
173  $result = $this->f->error("Something went wrong");
174  $exception = "Something else went wrong";
175 
176  $new_result = $result->except(function ($v) use ($exception) {
177  $ret = $this->f->error($exception);
178  return $ret;
179  });
180 
181  $this->assertInstanceOf(Data\Result::class, $new_result);
182  $this->assertNotEquals($result, $new_result);
183  $this->assertEquals("Something else went wrong", $new_result->error());
184  }
$result
$ret
Definition: parser.php:6

◆ testExceptNoResult()

ResultTest::testExceptNoResult ( )

Definition at line 213 of file ResultTest.php.

References Vendor\Package\$e, and $result.

214  {
215  $result = $this->f->error("Something went wrong");
216 
217  try {
218  $new_result = $result->except(function ($v) {
219  return "New error text";
220  });
221 
222  $raised = false;
223  } catch (\UnexpectedValueException $e) {
224  $raised = true;
225  }
226 
227  $this->assertTrue($raised);
228  }
$result

◆ testExceptOk()

ResultTest::testExceptOk ( )

Definition at line 199 of file ResultTest.php.

References $result, and $ret.

200  {
201  $result = $this->f->ok(3);
202  $exception = "Something else went wrong";
203 
204  $new_result = $result->except(function ($v) use ($exception) {
205  $ret = $this->f->error($exception);
206  return $ret;
207  });
208 
209  $this->assertInstanceOf(Data\Result::class, $new_result);
210  $this->assertEquals($result, $new_result);
211  }
$result
$ret
Definition: parser.php:6

◆ testIsError()

ResultTest::testIsError ( )

Definition at line 73 of file ResultTest.php.

References $result.

74  {
75  $result = $this->f->error("Something went wrong");
76  $this->assertTrue($result->isError());
77  $this->assertFalse($result->isOk());
78  }
$result

◆ testIsOk()

ResultTest::testIsOk ( )

Definition at line 46 of file ResultTest.php.

References $result.

47  {
48  $result = $this->f->ok(3.154);
49  $this->assertTrue($result->isOk());
50  $this->assertFalse($result->isError());
51  }
$result

◆ testMapError()

ResultTest::testMapError ( )

Definition at line 105 of file ResultTest.php.

References $result.

106  {
107  $result = $this->f->error("Something went wrong");
108  $multiplicator = 3;
109  $new_result = $result->map(function ($v) use ($multiplicator) {
110  return $v * $multiplicator;
111  });
112 
113  $this->assertEquals($result, $new_result);
114  }
$result

◆ testMapOk()

ResultTest::testMapOk ( )

Definition at line 92 of file ResultTest.php.

References $result.

93  {
94  $result = $this->f->ok(3);
95  $multiplicator = 3;
96  $new_result = $result->map(function ($v) use ($multiplicator) {
97  return $v * $multiplicator;
98  });
99 
100  $this->assertInstanceOf(Data\Result::class, $new_result);
101  $this->assertNotEquals($result, $new_result);
102  $this->assertEquals(9, $new_result->value());
103  }
$result

◆ testNoError()

ResultTest::testNoError ( )

Definition at line 59 of file ResultTest.php.

References Vendor\Package\$e, and $result.

60  {
61  $result = $this->f->ok(3.154);
62 
63  try {
64  $result->error();
65  $raised = false;
66  } catch (\LogicException $e) {
67  $raised = true;
68  }
69 
70  $this->assertTrue($raised);
71  }
$result

◆ testNoValue()

ResultTest::testNoValue ( )

Definition at line 32 of file ResultTest.php.

References Vendor\Package\$e, and $result.

33  {
34  $result = $this->f->error("Something went wrong");
35 
36  try {
37  $result->value();
38  $raised = false;
39  } catch (\Exception $e) {
40  $raised = true;
41  }
42 
43  $this->assertTrue($raised);
44  }
$result

◆ testThenCallableNull()

ResultTest::testThenCallableNull ( )

Definition at line 130 of file ResultTest.php.

References $result.

131  {
132  $result = $this->f->ok(3);
133  $new_result = $result->then(function ($v) {
134  return null;
135  });
136 
137  $this->assertInstanceOf(Data\Result::class, $new_result);
138  $this->assertEquals($result, $new_result);
139  }
$result

◆ testThenError()

ResultTest::testThenError ( )

Definition at line 141 of file ResultTest.php.

References $result, and $ret.

142  {
143  $result = $this->f->error("Something went wrong");
144  $multiplicator = 3;
145  $new_result = $result->then(function ($v) use ($multiplicator) {
146  $ret = $this->f->ok(($v * $multiplicator));
147  return $ret;
148  });
149 
150  $this->assertInstanceOf(Data\Result::class, $new_result);
151  $this->assertEquals($result, $new_result);
152  }
$result
$ret
Definition: parser.php:6

◆ testThenNoResult()

ResultTest::testThenNoResult ( )

Definition at line 154 of file ResultTest.php.

References Vendor\Package\$e, and $result.

155  {
156  $result = $this->f->ok(3);
157 
158  try {
159  $new_result = $result->then(function ($v) {
160  return 4;
161  });
162 
163  $raised = false;
164  } catch (\UnexpectedValueException $e) {
165  $raised = true;
166  }
167 
168  $this->assertTrue($raised);
169  }
$result

◆ testThenOk()

ResultTest::testThenOk ( )

Definition at line 116 of file ResultTest.php.

References $result, and $ret.

117  {
118  $result = $this->f->ok(3);
119  $multiplicator = 3;
120  $new_result = $result->then(function ($v) use ($multiplicator) {
121  $ret = $this->f->ok(($v * $multiplicator));
122  return $ret;
123  });
124 
125  $this->assertInstanceOf(Data\Result::class, $new_result);
126  $this->assertNotEquals($result, $new_result);
127  $this->assertEquals(9, $new_result->value());
128  }
$result
$ret
Definition: parser.php:6

◆ testValue()

ResultTest::testValue ( )

Definition at line 26 of file ResultTest.php.

References $result.

27  {
28  $result = $this->f->ok(3.154);
29  $this->assertEquals(3.154, $result->value());
30  }
$result

◆ testValueOr()

ResultTest::testValueOr ( )

Definition at line 80 of file ResultTest.php.

References $result.

81  {
82  $result = $this->f->ok(3.154);
83  $this->assertEquals(3.154, $result->valueOr(5));
84  }
$result

◆ testValueOrDefault()

ResultTest::testValueOrDefault ( )

Definition at line 86 of file ResultTest.php.

References $result.

87  {
88  $result = $this->f->error("Something went wrong");
89  $this->assertEquals(5, $result->valueOr(5));
90  }
$result

The documentation for this class was generated from the following file: