ILIAS  release_8 Revision v8.23
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 ()
 

Private Attributes

Data Factory $f
 

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 17 of file ResultTest.php.

Member Function Documentation

◆ setUp()

ResultTest::setUp ( )
protected

Definition at line 21 of file ResultTest.php.

21  : void
22  {
23  $this->f = new Data\Factory();
24  }

◆ tearDown()

ResultTest::tearDown ( )
protected

Definition at line 26 of file ResultTest.php.

26  : void
27  {
28  $this->f = null;
29  }

◆ testError()

ResultTest::testError ( )

Definition at line 58 of file ResultTest.php.

58  : void
59  {
60  $result = $this->f->error("Something went wrong");
61  $this->assertEquals("Something went wrong", $result->error());
62  }

◆ testExceptCallableNull()

ResultTest::testExceptCallableNull ( )

Definition at line 188 of file ResultTest.php.

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

◆ testExceptError()

ResultTest::testExceptError ( )

Definition at line 174 of file ResultTest.php.

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

◆ testExceptNoResult()

ResultTest::testExceptNoResult ( )

Definition at line 214 of file ResultTest.php.

References Vendor\Package\$e.

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

◆ testExceptOk()

ResultTest::testExceptOk ( )

Definition at line 201 of file ResultTest.php.

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

◆ testIsError()

ResultTest::testIsError ( )

Definition at line 78 of file ResultTest.php.

78  : void
79  {
80  $result = $this->f->error("Something went wrong");
81  $this->assertTrue($result->isError());
82  $this->assertFalse($result->isOk());
83  }

◆ testIsOk()

ResultTest::testIsOk ( )

Definition at line 51 of file ResultTest.php.

51  : void
52  {
53  $result = $this->f->ok(3.154);
54  $this->assertTrue($result->isOk());
55  $this->assertFalse($result->isError());
56  }

◆ testMapError()

ResultTest::testMapError ( )

Definition at line 110 of file ResultTest.php.

110  : void
111  {
112  $result = $this->f->error("Something went wrong");
113  $multiplicator = 3;
114  $new_result = $result->map(function ($v) use ($multiplicator) {
115  return $v * $multiplicator;
116  });
117 
118  $this->assertEquals($result, $new_result);
119  }

◆ testMapOk()

ResultTest::testMapOk ( )

Definition at line 97 of file ResultTest.php.

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

◆ testNoError()

ResultTest::testNoError ( )

Definition at line 64 of file ResultTest.php.

References Vendor\Package\$e.

64  : void
65  {
66  $result = $this->f->ok(3.154);
67 
68  try {
69  $result->error();
70  $raised = false;
71  } catch (LogicException $e) {
72  $raised = true;
73  }
74 
75  $this->assertTrue($raised);
76  }

◆ testNoValue()

ResultTest::testNoValue ( )

Definition at line 37 of file ResultTest.php.

References Vendor\Package\$e.

37  : void
38  {
39  $result = $this->f->error("Something went wrong");
40 
41  try {
42  $result->value();
43  $raised = false;
44  } catch (Exception $e) {
45  $raised = true;
46  }
47 
48  $this->assertTrue($raised);
49  }

◆ testThenCallableNull()

ResultTest::testThenCallableNull ( )

Definition at line 134 of file ResultTest.php.

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

◆ testThenError()

ResultTest::testThenError ( )

Definition at line 145 of file ResultTest.php.

145  : void
146  {
147  $result = $this->f->error("Something went wrong");
148  $multiplicator = 3;
149  $new_result = $result->then(function ($v) use ($multiplicator) {
150  return $this->f->ok(($v * $multiplicator));
151  });
152 
153  $this->assertInstanceOf(Data\Result::class, $new_result);
154  $this->assertEquals($result, $new_result);
155  }

◆ testThenNoResult()

ResultTest::testThenNoResult ( )

Definition at line 157 of file ResultTest.php.

References Vendor\Package\$e.

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

◆ testThenOk()

ResultTest::testThenOk ( )

Definition at line 121 of file ResultTest.php.

121  : void
122  {
123  $result = $this->f->ok(3);
124  $multiplicator = 3;
125  $new_result = $result->then(function ($v) use ($multiplicator) {
126  return $this->f->ok(($v * $multiplicator));
127  });
128 
129  $this->assertInstanceOf(Data\Result::class, $new_result);
130  $this->assertNotEquals($result, $new_result);
131  $this->assertEquals(9, $new_result->value());
132  }

◆ testValue()

ResultTest::testValue ( )

Definition at line 31 of file ResultTest.php.

31  : void
32  {
33  $result = $this->f->ok(3.154);
34  $this->assertEquals(3.154, $result->value());
35  }

◆ testValueOr()

ResultTest::testValueOr ( )

Definition at line 85 of file ResultTest.php.

85  : void
86  {
87  $result = $this->f->ok(3.154);
88  $this->assertEquals(3.154, $result->valueOr(5));
89  }

◆ testValueOrDefault()

ResultTest::testValueOrDefault ( )

Definition at line 91 of file ResultTest.php.

91  : void
92  {
93  $result = $this->f->error("Something went wrong");
94  $this->assertEquals(5, $result->valueOr(5));
95  }

Field Documentation

◆ $f

Data Factory ResultTest::$f
private

Definition at line 19 of file ResultTest.php.


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