ILIAS  trunk Revision v11.0_alpha-1843-g9e1fad99175
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator 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 ()
 

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

Member Function Documentation

◆ setUp()

ResultTest::setUp ( )
protected

Definition at line 35 of file ResultTest.php.

35  : void
36  {
37  $this->f = new Data\Factory();
38  }

◆ tearDown()

ResultTest::tearDown ( )
protected

Definition at line 40 of file ResultTest.php.

References null.

40  : void
41  {
42  $this->f = null;
43  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ testError()

ResultTest::testError ( )

Definition at line 72 of file ResultTest.php.

72  : void
73  {
74  $result = $this->f->error("Something went wrong");
75  $this->assertEquals("Something went wrong", $result->error());
76  }

◆ testExceptCallableNull()

ResultTest::testExceptCallableNull ( )

Definition at line 202 of file ResultTest.php.

References null.

202  : void
203  {
204  $result = $this->f->error("Something went wrong");
205  $exception = "Something else went wrong";
206 
207  $new_result = $result->except(function ($v) {
208  return null;
209  });
210 
211  $this->assertInstanceOf(Data\Result::class, $new_result);
212  $this->assertEquals($result, $new_result);
213  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ testExceptError()

ResultTest::testExceptError ( )

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) use ($exception) {
194  return $this->f->error($exception);
195  });
196 
197  $this->assertInstanceOf(Data\Result::class, $new_result);
198  $this->assertNotEquals($result, $new_result);
199  $this->assertEquals("Something else went wrong", $new_result->error());
200  }

◆ testExceptNoResult()

ResultTest::testExceptNoResult ( )

Definition at line 228 of file ResultTest.php.

References Vendor\Package\$e.

228  : void
229  {
230  $result = $this->f->error("Something went wrong");
231 
232  try {
233  $new_result = $result->except(function ($v) {
234  return "New error text";
235  });
236 
237  $raised = false;
238  } catch (UnexpectedValueException $e) {
239  $raised = true;
240  }
241 
242  $this->assertTrue($raised);
243  }

◆ testExceptOk()

ResultTest::testExceptOk ( )

Definition at line 215 of file ResultTest.php.

215  : void
216  {
217  $result = $this->f->ok(3);
218  $exception = "Something else went wrong";
219 
220  $new_result = $result->except(function ($v) use ($exception) {
221  return $this->f->error($exception);
222  });
223 
224  $this->assertInstanceOf(Data\Result::class, $new_result);
225  $this->assertEquals($result, $new_result);
226  }

◆ testIsError()

ResultTest::testIsError ( )

Definition at line 92 of file ResultTest.php.

92  : void
93  {
94  $result = $this->f->error("Something went wrong");
95  $this->assertTrue($result->isError());
96  $this->assertFalse($result->isOk());
97  }

◆ testIsOk()

ResultTest::testIsOk ( )

Definition at line 65 of file ResultTest.php.

65  : void
66  {
67  $result = $this->f->ok(3.154);
68  $this->assertTrue($result->isOk());
69  $this->assertFalse($result->isError());
70  }

◆ testMapError()

ResultTest::testMapError ( )

Definition at line 124 of file ResultTest.php.

124  : void
125  {
126  $result = $this->f->error("Something went wrong");
127  $multiplicator = 3;
128  $new_result = $result->map(function ($v) use ($multiplicator) {
129  return $v * $multiplicator;
130  });
131 
132  $this->assertEquals($result, $new_result);
133  }

◆ testMapOk()

ResultTest::testMapOk ( )

Definition at line 111 of file ResultTest.php.

111  : void
112  {
113  $result = $this->f->ok(3);
114  $multiplicator = 3;
115  $new_result = $result->map(function ($v) use ($multiplicator) {
116  return $v * $multiplicator;
117  });
118 
119  $this->assertInstanceOf(Data\Result::class, $new_result);
120  $this->assertNotEquals($result, $new_result);
121  $this->assertEquals(9, $new_result->value());
122  }

◆ testNoError()

ResultTest::testNoError ( )

Definition at line 78 of file ResultTest.php.

References Vendor\Package\$e.

78  : void
79  {
80  $result = $this->f->ok(3.154);
81 
82  try {
83  $result->error();
84  $raised = false;
85  } catch (LogicException $e) {
86  $raised = true;
87  }
88 
89  $this->assertTrue($raised);
90  }

◆ testNoValue()

ResultTest::testNoValue ( )

Definition at line 51 of file ResultTest.php.

References Vendor\Package\$e.

51  : void
52  {
53  $result = $this->f->error("Something went wrong");
54 
55  try {
56  $result->value();
57  $raised = false;
58  } catch (Exception $e) {
59  $raised = true;
60  }
61 
62  $this->assertTrue($raised);
63  }

◆ testThenCallableNull()

ResultTest::testThenCallableNull ( )

Definition at line 148 of file ResultTest.php.

References null.

148  : void
149  {
150  $result = $this->f->ok(3);
151  $new_result = $result->then(function ($v) {
152  return null;
153  });
154 
155  $this->assertInstanceOf(Data\Result::class, $new_result);
156  $this->assertEquals($result, $new_result);
157  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ testThenError()

ResultTest::testThenError ( )

Definition at line 159 of file ResultTest.php.

159  : void
160  {
161  $result = $this->f->error("Something went wrong");
162  $multiplicator = 3;
163  $new_result = $result->then(function ($v) use ($multiplicator) {
164  return $this->f->ok(($v * $multiplicator));
165  });
166 
167  $this->assertInstanceOf(Data\Result::class, $new_result);
168  $this->assertEquals($result, $new_result);
169  }

◆ testThenNoResult()

ResultTest::testThenNoResult ( )

Definition at line 171 of file ResultTest.php.

References Vendor\Package\$e.

171  : void
172  {
173  $result = $this->f->ok(3);
174 
175  try {
176  $new_result = $result->then(function ($v) {
177  return 4;
178  });
179 
180  $raised = false;
181  } catch (UnexpectedValueException $e) {
182  $raised = true;
183  }
184 
185  $this->assertTrue($raised);
186  }

◆ testThenOk()

ResultTest::testThenOk ( )

Definition at line 135 of file ResultTest.php.

135  : void
136  {
137  $result = $this->f->ok(3);
138  $multiplicator = 3;
139  $new_result = $result->then(function ($v) use ($multiplicator) {
140  return $this->f->ok(($v * $multiplicator));
141  });
142 
143  $this->assertInstanceOf(Data\Result::class, $new_result);
144  $this->assertNotEquals($result, $new_result);
145  $this->assertEquals(9, $new_result->value());
146  }

◆ testValue()

ResultTest::testValue ( )

Definition at line 45 of file ResultTest.php.

45  : void
46  {
47  $result = $this->f->ok(3.154);
48  $this->assertEquals(3.154, $result->value());
49  }

◆ testValueOr()

ResultTest::testValueOr ( )

Definition at line 99 of file ResultTest.php.

99  : void
100  {
101  $result = $this->f->ok(3.154);
102  $this->assertEquals(3.154, $result->valueOr(5));
103  }

◆ testValueOrDefault()

ResultTest::testValueOrDefault ( )

Definition at line 105 of file ResultTest.php.

105  : void
106  {
107  $result = $this->f->error("Something went wrong");
108  $this->assertEquals(5, $result->valueOr(5));
109  }

Field Documentation

◆ $f

Data Factory ResultTest::$f
private

Definition at line 33 of file ResultTest.php.


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