Exemplo n.º 1
0
 public function createExperiment($name, $values)
 {
     $levers = \MaBandit\Lever::createBatchFromValues($values);
     $ex = \MaBandit\Experiment::withName($name)->forLevers($levers);
     foreach ($ex->getLevers() as $lever) {
         $this->getPersistor()->saveLever($lever);
     }
     return $ex;
 }
Exemplo n.º 2
0
 public function testForLeversReturnsExperimentWithSpecifiedLeversSet()
 {
     $levers = \MaBandit\Lever::createBatchFromValues(array('blue', 'green'));
     $experiment = \MaBandit\Experiment::withName('test')->forLevers($levers);
     $taggedLevers = array();
     foreach ($levers as $l) {
         $nl = clone $l;
         $nl->experiment = 'test';
         $taggedLevers[] = $nl;
     }
     $this->assertEquals($taggedLevers, $experiment->getLevers());
     $this->assertEquals('test', $experiment->name);
 }
Exemplo n.º 3
0
 public function testChooseLeverAddsToDenominatorPersistsAndReturnsLever()
 {
     $bandit = $this->getBandit();
     $levers = \MaBandit\Lever::createBatchFromValues(array('yes', 'no'));
     $ex = \MaBandit\Experiment::withName('testchoosepersist')->forLevers($levers);
     $chosen = $bandit->chooseLever($ex);
     $this->assertEquals(1, $chosen->getDenominator());
     $f = new \MaBandit\Persistence\PersistedLever($chosen->getValue(), $ex->name);
     $this->assertEquals($chosen, $bandit->getPersistor()->loadLever($f));
 }
Exemplo n.º 4
0
 /**
  * @expectedException \MaBandit\Exception\BadArgumentException 
  */
 public function testCreateBatchFromValuesRaisesOnBadArgument()
 {
     \MaBandit\Lever::createBatchFromValues('foo');
 }