From d022072b5a978e8d74b96cf78d931300e1cc7a60 Mon Sep 17 00:00:00 2001 From: Francois Zaninotto Date: Mon, 21 Apr 2014 22:03:38 +0200 Subject: [PATCH] Fix numberBetween max default value handling Closes #305 --- src/Faker/Provider/Base.php | 8 ++++---- test/Faker/Provider/BaseTest.php | 5 +++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Faker/Provider/Base.php b/src/Faker/Provider/Base.php index 12eb14c7..21d2439b 100644 --- a/src/Faker/Provider/Base.php +++ b/src/Faker/Provider/Base.php @@ -102,15 +102,15 @@ class Base /** * Returns a random number between $from and $to * - * @param integer $from - * @param integer $to + * @param integer $from default to 0 + * @param integer $to defaults to 32 bit max integer, ie 2147483647 * @example 79907610 * * @return integer */ - public static function numberBetween($from = null, $to = null) + public static function numberBetween($from = 0, $to = 2147483647) { - return mt_rand($from ?: 0, $to ?: 2147483647); // 32bit compat default + return mt_rand($from, $to); } /** diff --git a/test/Faker/Provider/BaseTest.php b/test/Faker/Provider/BaseTest.php index fbf89e43..3f7c8b2e 100644 --- a/test/Faker/Provider/BaseTest.php +++ b/test/Faker/Provider/BaseTest.php @@ -52,6 +52,11 @@ class BaseTest extends \PHPUnit_Framework_TestCase $this->assertGreaterThanOrEqual(BaseProvider::numberBetween($min, $max), $max); } + public function testNumberBetweenAcceptsZeroAsMax() + { + $this->assertEquals(0, BaseProvider::numberBetween(0, 0)); + } + public function testRandomFloat() { $min = 4;