@@ -204,25 +204,39 @@ public function testFilterWithClause(): void
204204 $ query = Query::create ();
205205 $ criterionOne = Criterion::create ('field1 ' , 'value1 ' , Criterion::EQUAL );
206206 $ criterionTwo = Criterion::create ('field2 ' , 'value2 ' , Criterion::EQUAL );
207+ $ criterionThree = Criterion::create ('field3 ' , '' , Criterion::NOT_EQUAL );
208+ $ criterionFour = Criterion::create ('field4 ' , 0 , Criterion::NOT_EQUAL );
207209
208210 $ query ->filter ($ criterionOne );
209211 $ query ->filter ($ criterionTwo );
212+ $ query ->filter ($ criterionThree );
213+ $ query ->filter ($ criterionFour );
210214
211215 $ clauses = $ query ->getFilter ()->getClauses ();
212216
213- $ this ->assertCount (2 , $ clauses );
217+ $ this ->assertCount (4 , $ clauses );
214218
215219 /** @var Criterion $criterionOne */
216220 $ criterionOne = array_shift ($ clauses );
217221 /** @var Criterion $criterionTwo */
218222 $ criterionTwo = array_shift ($ clauses );
223+ /** @var Criterion $criterionThree */
224+ $ criterionThree = array_shift ($ clauses );
225+ /** @var Criterion $criterionFour */
226+ $ criterionFour = array_shift ($ clauses );
219227
220228 $ this ->assertEquals ('field1 ' , $ criterionOne ->getTarget ());
221229 $ this ->assertEquals ('value1 ' , $ criterionOne ->getValue ());
222230 $ this ->assertEquals (Criterion::EQUAL , $ criterionOne ->getComparison ());
223231 $ this ->assertEquals ('field2 ' , $ criterionTwo ->getTarget ());
224232 $ this ->assertEquals ('value2 ' , $ criterionTwo ->getValue ());
225233 $ this ->assertEquals (Criterion::EQUAL , $ criterionTwo ->getComparison ());
234+ $ this ->assertEquals ('field3 ' , $ criterionThree ->getTarget ());
235+ $ this ->assertEquals ('' , $ criterionThree ->getValue ());
236+ $ this ->assertEquals (Criterion::NOT_EQUAL , $ criterionThree ->getComparison ());
237+ $ this ->assertEquals ('field4 ' , $ criterionFour ->getTarget ());
238+ $ this ->assertEquals (0 , $ criterionFour ->getValue ());
239+ $ this ->assertEquals (Criterion::NOT_EQUAL , $ criterionFour ->getComparison ());
226240 }
227241
228242 public function testFilterWithTarget (): void
@@ -256,7 +270,8 @@ public function testFilterAny(): void
256270 $ query ->filterAny ([
257271 $ criterion ,
258272 ['field2 ' , 'value2 ' , Criterion::EQUAL ],
259- ['field3 ' , 'value3 ' , Criterion::EQUAL ],
273+ ['field3 ' , '' , Criterion::NOT_EQUAL ],
274+ ['field4 ' , 0 , Criterion::NOT_EQUAL ],
260275 ]);
261276
262277 $ clauses = $ query ->getFilter ()->getClauses ();
@@ -278,6 +293,8 @@ public function testFilterAny(): void
278293 $ criterionTwo = array_shift ($ clauses );
279294 /** @var Criterion $criterionThree */
280295 $ criterionThree = array_shift ($ clauses );
296+ /** @var Criterion $criterionFour */
297+ $ criterionFour = array_shift ($ clauses );
281298
282299 $ this ->assertEquals ('field1 ' , $ criterionOne ->getTarget ());
283300 $ this ->assertEquals ('value1 ' , $ criterionOne ->getValue ());
@@ -286,13 +303,16 @@ public function testFilterAny(): void
286303 $ this ->assertEquals ('value2 ' , $ criterionTwo ->getValue ());
287304 $ this ->assertEquals (Criterion::EQUAL , $ criterionTwo ->getComparison ());
288305 $ this ->assertEquals ('field3 ' , $ criterionThree ->getTarget ());
289- $ this ->assertEquals ('value3 ' , $ criterionThree ->getValue ());
290- $ this ->assertEquals (Criterion::EQUAL , $ criterionThree ->getComparison ());
306+ $ this ->assertEquals ('' , $ criterionThree ->getValue ());
307+ $ this ->assertEquals (Criterion::NOT_EQUAL , $ criterionThree ->getComparison ());
308+ $ this ->assertEquals ('field4 ' , $ criterionFour ->getTarget ());
309+ $ this ->assertEquals (0 , $ criterionFour ->getValue ());
310+ $ this ->assertEquals (Criterion::NOT_EQUAL , $ criterionFour ->getComparison ());
291311 }
292312
293313 public function testFilterNoValue (): void
294314 {
295- $ this ->expectExceptionMessage ('mixed $value and string $comparison expected for filter() ' );
315+ $ this ->expectExceptionMessage ('mixed $value of null is not supported outside of NULL_COMPARISON filters ' );
296316
297317 $ query = Query::create ();
298318 // Should throw our exception
0 commit comments