Пример #1
0
 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);
 }