diff options
| author | Andres Silva <[email protected]> | 2017-01-26 10:18:57 -0500 |
|---|---|---|
| committer | Andres Silva <[email protected]> | 2017-01-26 10:18:57 -0500 |
| commit | 484e63a791fd6874af6d7d7e6c1806cb5d325d30 (patch) | |
| tree | 132c064722e6718d6ba06e49560b6c946e08575e | |
| parent | 7e96b93869b422af5a63c115e04ff0206bf7b228 (diff) | |
| download | faker-484e63a791fd6874af6d7d7e6c1806cb5d325d30.tar.xz faker-484e63a791fd6874af6d7d7e6c1806cb5d325d30.zip | |
Add max, min for latitude and longitude
| -rw-r--r-- | lib/address.js | 12 | ||||
| -rw-r--r-- | test/address.unit.js | 26 |
2 files changed, 34 insertions, 4 deletions
diff --git a/lib/address.js b/lib/address.js index cf37d2e8..a6d47187 100644 --- a/lib/address.js +++ b/lib/address.js @@ -205,18 +205,22 @@ function Address (faker) { * latitude * * @method faker.address.latitude + * @param {Double} max default is 90 + * @param {Double} min default is -90 */ - this.latitude = function () { - return (faker.random.number(180 * 10000) / 10000.0 - 90.0).toFixed(4); + this.latitude = function (max = 90, min = -90) { + return faker.random.number({max: max, min:min, precision:0.0001}).toFixed(4); } /** * longitude * * @method faker.address.longitude + * @param {Double} max default is 180 + * @param {Double} min default is -180 */ - this.longitude = function () { - return (faker.random.number(360 * 10000) / 10000.0 - 180.0).toFixed(4); + this.longitude = function (max = 180, min = -180) { + return faker.random.number({max: max, min:min, precision:0.0001}).toFixed(4); } return this; diff --git a/test/address.unit.js b/test/address.unit.js index b5df1d24..5aba2c36 100644 --- a/test/address.unit.js +++ b/test/address.unit.js @@ -265,6 +265,19 @@ describe("address.js", function () { faker.random.number.restore(); } }); + + it("returns latitude with min and max", function () { + for (var i = 0; i < 100; i++) { + sinon.spy(faker.random, 'number'); + var latitude = faker.address.latitude(-5, 5); + assert.ok(typeof latitude === 'string'); + var latitude_float = parseFloat(latitude); + assert.ok(latitude_float >= -5); + assert.ok(latitude_float <= 5); + assert.ok(faker.random.number.called); + faker.random.number.restore(); + } + }); }); describe("longitude()", function () { @@ -280,6 +293,19 @@ describe("address.js", function () { faker.random.number.restore(); } }); + + it("returns random longitude with min and max", function () { + for (var i = 0; i < 100; i++) { + sinon.spy(faker.random, 'number'); + var longitude = faker.address.longitude(100, -30); + assert.ok(typeof longitude === 'string'); + var longitude_float = parseFloat(longitude); + assert.ok(longitude_float >= -30); + assert.ok(longitude_float <= 100); + assert.ok(faker.random.number.called); + faker.random.number.restore(); + } + }); }); }); |
