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; }
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); }
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)); }
/** * @expectedException \MaBandit\Exception\BadArgumentException */ public function testCreateBatchFromValuesRaisesOnBadArgument() { \MaBandit\Lever::createBatchFromValues('foo'); }