ILIAS  release_8 Revision v8.24
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.

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 }

References Vendor\Package\$e.

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

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 }

References Vendor\Package\$e.

◆ testNoValue()

ResultTest::testNoValue ( )

Definition at line 37 of file ResultTest.php.

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 }

References Vendor\Package\$e.

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

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 }

References Vendor\Package\$e.

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