13 public function testBuild()
18 $builder->startQuery();
20 $builder->addCondition(
'someCondition1');
22 $builder->startQuery();
24 $builder->addCondition(
'someCondition2');
25 $builder->addCondition(
'someCondition3');
27 $builder->startQuery();
29 $builder->addCondition(
'someCondition4');
30 $builder->addCondition(
'someCondition5');
32 $builder->endQuery(10.1);
34 $builder->startQuery();
36 $builder->addCondition(
'someCondition6');
37 $builder->addCondition(
'someCondition7');
39 $builder->endQuery(10.2);
40 $builder->endQuery(10.3);
41 $builder->endQuery(10.4);
43 $builder->startQuery();
44 $builder->endQuery(1);
49 $expected =
'((LEAST((someCondition1), 1000000) * %1$s + (LEAST((someCondition2), 1000000) * %1$s' 50 .
' + LEAST((someCondition3), 1000000) * %1$s + ' 51 .
'(LEAST((someCondition4), 1000000) * %1$s + LEAST((someCondition5), 1000000) * %1$s) * 10.1' 52 .
' + (LEAST((someCondition6), 1000000) * %1$s + ' 53 .
'LEAST((someCondition7), 1000000) * %1$s) * 10.2) * 10.3) * 10.4 + (0)) AS ' . $builder->getScoreAlias();
54 $expected = sprintf($expected, $weightExpression);
55 $this->assertEquals($expected,
$result);