aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/address.js16
-rw-r--r--test/address.unit.js26
2 files changed, 38 insertions, 4 deletions
diff --git a/lib/address.js b/lib/address.js
index cf37d2e8..0a6f0c5b 100644
--- a/lib/address.js
+++ b/lib/address.js
@@ -205,18 +205,26 @@ 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, min) {
+ max = max || 90
+ min = 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, min) {
+ max = max || 180
+ min = 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();
+ }
+ });
});
});