public function testGenerateValueUnique() { $faker = \Faker\Factory::create('en_US'); $values = []; $variables = []; $name = 'foo'; $this->variable->setName($name); $this->variable->setMethod('randomDigit'); $this->variable->setMethodArguments([]); $this->variable->setOptional(null); $this->variable->setUnique(true); $rawValues = []; for ($i = 0; $i < 10; $i++) { $this->variable->generateValue($faker, $values, $variables); $this->assertArrayHasKey($name, $values); $this->assertArrayHasKey('raw', $values[$name]); $this->assertArrayHasKey('flat', $values[$name]); $rawValues[] = $values[$name]['raw']; unset($values[$name]); } sort($rawValues); $this->assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], $rawValues); }
/** * @covers CSanquer\FakeryGenerator\Model\Config::updateVariableMaxTimestamp */ public function testUpdateVariableMaxTimestamp() { $variable = new Variable('birthday', 'date', [], false, false, '2000-01-01 08:00:00'); $this->assertEquals(new \DateTime('2000-01-01 08:00:00'), $variable->getMaxTimestamp()); $this->config->addVariable($variable); $this->config->setMaxTimestamp('2014-06-30 00:00:00'); $this->config->updateVariableMaxTimestamp(); $this->assertEquals(new \DateTime('2014-06-30 00:00:00'), $variable->getMaxTimestamp()); }
/** * @param Variable $variable * @return Config */ public function addVariable(Variable $variable) { $name = $variable->getName(); if (empty($name)) { throw new \InvalidArgumentException('The variable must have a name.'); } $this->variables[$name] = $variable; $this->variables[$name]->setMaxTimestamp($this->maxTimestamp); if ($this->fakerConfig) { $this->variables[$name]->setFakerConfig($this->fakerConfig); } return $this; }