From 4b7be555ab1702c5ec5d14f9a212389fe4714c3c Mon Sep 17 00:00:00 2001 From: Oussama Romdhane Date: Sat, 20 Aug 2016 18:17:36 +0100 Subject: [PATCH 1/5] Add area ratio --- lib/ratios/area.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 lib/ratios/area.js diff --git a/lib/ratios/area.js b/lib/ratios/area.js new file mode 100644 index 0000000..08fa307 --- /dev/null +++ b/lib/ratios/area.js @@ -0,0 +1,12 @@ +module.exports = { + "in2": 0.00064516, + "ft2": 0.09290304, + "yd2": 0.83612736, + "mi2": 2589988.110336, + "ac": 4046.8564224, + "ha": 10000, + "mm2": 0.000001, + "cm2": 0.0001, + "m2": 1, + "km2": 1000000 +}; From 9dc50096bd6b9139877e741315ad295c4e60ee24 Mon Sep 17 00:00:00 2001 From: Oussama Romdhane Date: Sat, 20 Aug 2016 18:20:07 +0100 Subject: [PATCH 2/5] Add area conversion support --- lib/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/index.js b/lib/index.js index 83e1759..e692acc 100644 --- a/lib/index.js +++ b/lib/index.js @@ -11,6 +11,10 @@ var converters = { 'g', 'lhwt', 'shwt', 'kg', 'Mg', 'mg', 'aoz', 'toz', 'dwt', 'alb', 'lb', 'tlb', 'slug', 'st', 'lAT', 'sAT', 'ltn', 'stn', 't' + ], + 'area': [ + 'in2', 'ft2', 'yd2', 'mi2', 'ac', 'ha', + 'mm2', 'cm2', 'm2', 'km2' ] }; From dddee4c2eacd80c95358f328ef23443eea1e3968 Mon Sep 17 00:00:00 2001 From: Oussama Romdhane Date: Sat, 20 Aug 2016 18:24:28 +0100 Subject: [PATCH 3/5] Update readme --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index fcc8df3..2c03a45 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ For now it supports: - Length (distance) - Mass (weight) +- Area ### Installation: @@ -82,3 +83,18 @@ ton (long) | ltn ton (short) | stn ton-metric | t tonne (U.S. metric ton) | t + +Area + +Unit | Abbreviation in easy-converter +----------------- | :----------------------------: +square inch | in2 +square foot | ft2 +square yard | yd2 +square mile | mi2 +acre | ac +hectare | ha +square millimeter | mm2 +square centimeter | cm2 +square meter | m2 +square kilometer | km2 From 48323a36f933af9c5cb6ad756007e6bd75181eaf Mon Sep 17 00:00:00 2001 From: Oussama Romdhane Date: Sat, 20 Aug 2016 20:09:50 +0100 Subject: [PATCH 4/5] Add area conversion tests --- tests/area.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tests/area.js diff --git a/tests/area.js b/tests/area.js new file mode 100644 index 0000000..88c67ca --- /dev/null +++ b/tests/area.js @@ -0,0 +1,57 @@ +var assert = require('chai').assert; +var easyconverter = require('../lib'); + +var EPSILON = require('./epsilon'); + +var c = new easyconverter({}); + +describe('Area converter', function() { + // Check inch² to meter² conversion (conversion with reference unit) + describe('3 inch² to meter²', function() { + it('should return 0.00193548', function() { + assert.closeTo(c.convert(3, 'in2').to('m2'), 0.00193548, EPSILON); + }); + }); + // Check meter² to inch² conversion (reverse conversion with reference unit) + describe('0.00193548 meter² to inch²', function() { + it('should return 3', function() { + assert.closeTo(c.convert(0.00193548, 'm2').to('in2'), 3, EPSILON); + }); + }); + // Check kilometer² to mile² conversion (conversion no reference unit) + describe('28.9 kilometer² to mile²', function() { + it('should return 11.158352381877', function() { + assert.closeTo(c.convert(28.9, 'km2').to('mi2'), 11.158352381877, EPSILON); + }); + }); + // Check mile² to kilometer² conversion (reverse conversion no reference unit) + describe('15 mile² to kilometer²', function() { + it('should return 38.84982165504', function() { + assert.closeTo(c.convert(15, 'mi2').to('km2'), 38.84982165504, EPSILON); + }); + }); + // Check centimeter² to centimeter² conversion (same unit conversion) + describe('7 centimeter² to centimeter²', function() { + it('should return 7', function() { + assert.closeTo(c.convert(7, 'cm2').to('cm2'), 7, EPSILON); + }); + }); + // Check meter² to meter² conversion (same unit is also the reference unit) + describe('3 meter² to meter²', function() { + it('should return 3', function() { + assert.closeTo(c.convert(3, 'm2').to('m2'), 3, EPSILON); + }); + }); + // Check zero value conversion + describe('0 meter² to centimeter²', function() { + it('should return 0', function() { + assert.closeTo(c.convert(0, 'm2').to('cm2'), 0, EPSILON); + }); + }); + // Check zero value conversion (same unit) + describe('0 meter² to meter²', function() { + it('should return 0', function() { + assert.closeTo(c.convert(0, 'm2').to('m2'), 0, EPSILON); + }); + }); +}); From ab489a7a703eeac0fe8cf99486b40ffe746fb93b Mon Sep 17 00:00:00 2001 From: Oussama Romdhane Date: Sat, 20 Aug 2016 20:10:49 +0100 Subject: [PATCH 5/5] Version 0.3.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5a3347b..5c0ba3c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "easy-converter", - "version": "0.2.0", + "version": "0.3.0", "description": "A unit converter for Javascript", "main": "lib", "scripts": {