public function testProcessSet() { $etalonPriceValue = 3967621; $etalonClicksValue = 2147; $etalonPrice = new EtalonValue($etalonPriceValue); $etalonClicks = new EtalonValue($etalonClicksValue); $valueT1Price = new EqualizableValue(3390930.562969); $valueT1Clicks = new EqualizableValue(1394); $valueT2Price = new EqualizableValue(1132603.481724); $valueT2Clicks = new EqualizableValue(753); $setPrice = new EqualizableValueSet(); $setPrice->addValue($valueT1Price)->addValue($valueT2Price); $raqualizer = new Raqualizer(); $result = $raqualizer->processSet($setPrice, $etalonPrice); $expected = array(2974207.15, 993413.85); foreach ($expected as $i => $expectation) { $this->assertEquals($expectation, $result[$i], '', 0.02); } $setClicks = new EqualizableValueSet(); $setClicks->addValue($valueT1Clicks)->addValue($valueT2Clicks); $setClicks->dependsOn($setPrice); $result = $raqualizer->processSet($setClicks, $etalonClicks); $expected = array(1609, 538); foreach ($expected as $i => $expectation) { $this->assertEquals($expectation, $result[$i], '', 0.49); } }
/** * @expectedException \LogicException * @expectedExceptionTest The set already depends on some another set */ public function testDependsOnFailsOnRedefine() { $value = new EqualizableValue(1); $dependence = new EqualizableValueSet(); $dependence->addValue($value); $dependence2 = new EqualizableValueSet(); $dependence2->addValue($value); $set = new EqualizableValueSet(); $set->addValue($value); $set->dependsOn($dependence); $set->dependsOn($dependence2); }