ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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.

40 : void
41 {
42 $this->f = null;
43 }

◆ 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.

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 }

◆ 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.

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 }

References Vendor\Package\$e.

◆ 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.

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 }

References Vendor\Package\$e.

◆ testNoValue()

ResultTest::testNoValue ( )

Definition at line 51 of file ResultTest.php.

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 }

References Vendor\Package\$e.

◆ testThenCallableNull()

ResultTest::testThenCallableNull ( )

Definition at line 148 of file ResultTest.php.

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 }

◆ 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.

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 }

References Vendor\Package\$e.

◆ 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: