From 484e63a791fd6874af6d7d7e6c1806cb5d325d30 Mon Sep 17 00:00:00 2001 From: Andres Silva Date: Thu, 26 Jan 2017 10:18:57 -0500 Subject: Add max, min for latitude and longitude --- lib/address.js | 12 ++++++++---- 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(); + } + }); }); }); -- cgit v1.2.3 From 2b59931cc71ca460c3221dc1a188078e72465446 Mon Sep 17 00:00:00 2001 From: Andres Silva Date: Thu, 26 Jan 2017 11:15:39 -0500 Subject: Delete ES6 --- lib/address.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/address.js b/lib/address.js index a6d47187..0a6f0c5b 100644 --- a/lib/address.js +++ b/lib/address.js @@ -208,7 +208,9 @@ function Address (faker) { * @param {Double} max default is 90 * @param {Double} min default is -90 */ - this.latitude = function (max = 90, min = -90) { + this.latitude = function (max, min) { + max = max || 90 + min = min || -90 return faker.random.number({max: max, min:min, precision:0.0001}).toFixed(4); } @@ -219,7 +221,9 @@ function Address (faker) { * @param {Double} max default is 180 * @param {Double} min default is -180 */ - this.longitude = function (max = 180, min = -180) { + this.longitude = function (max, min) { + max = max || 180 + min = min || -180 return faker.random.number({max: max, min:min, precision:0.0001}).toFixed(4); } -- cgit v1.2.3