public static function value($type = self::TYPE_STRING, $methodName = '', $format = null)
{
self::create();
$preferredValue = self::provider($type, $methodName);
if ($preferredValue !== null) {
return $preferredValue;
}
switch ($type) {
case self::TYPE_INTEGER:
return self::$fakerFactory->randomNumber;
case self::TYPE_NUMBER:
return self::$fakerFactory->randomFloat;
case self::TYPE_BOOLEAN:
return self::$fakerFactory->boolean;
case self::TYPE_DATE:
$format = $format === null ? self::FORMAT_DATE : $format;
return self::$fakerFactory->date($format);
case self::TYPE_TIME:
$format = $format === null ? self::FORMAT_TIME : $format;
return self::$fakerFactory->time($format);
case self::TYPE_DATETIME:
$format = $format === null ? self::FORMAT_DATETIME : $format;
return self::$fakerFactory->dateTime()->format($format);
case self::TYPE_TIMESTAMP:
$format = $format === null ? self::FORMAT_TIMESTAMP : $format;
return self::$fakerFactory->dateTime()->format($format);
default:
return self::$fakerFactory->word;
}
}
public function testValueWithTimestampType() { $value = GiiantFaker::value(GiiantFaker::TYPE_TIMESTAMP); $this->specify('returned value is string containing timestamp', function () use($value) { expect('value is not empty', $value)->notEmpty(); expect('value is string', is_string($value))->true(); \DateTime::createFromFormat(GiiantFaker::FORMAT_TIMESTAMP, $value); }); }