Skip to content

Commit

Permalink
feat: modify presets schema
Browse files Browse the repository at this point in the history
  • Loading branch information
javiercejudo committed Sep 26, 2015
1 parent 42605db commit 0143007
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 28 deletions.
18 changes: 11 additions & 7 deletions data/presets.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
{
"celsiusToFahrenheit": [[0, 5], [0, 9]],
"celsiusToKelvin": [[0, 1], [0, 1]],
"celsiusToRankine": [[0, 5], [0, 9]],
"celsiusToDelisle": [[0, 2], [0, -3]],
"celsiusToNewton": [[0, 100], [0, 33]],
"celsiusToReaumur": [[0, 5], [0, 4]],
"celsiusToRomer": [[0, 40], [0, 21]]
"base": "celsius",
"conversions": {
"celsius": [[0, 1], [0, 1]],
"fahrenheit": [[0, 5], [0, 9]],
"kelvin": [[0, 1], [0, 1]],
"rankine": [[0, 5], [0, 9]],
"delisle": [[0, 2], [0, -3]],
"newton": [[0, 100], [0, 33]],
"reaumur": [[0, 5], [0, 4]],
"romer": [[0, 40], [0, 21]]
}
}
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,14 @@
},
"homepage": "https://github.com/javiercejudo/linear-presets-temperature-difference",
"devDependencies": {
"floating-adapter": "^1.0.0",
"floating-adapter": "^1.2.0",
"gulp": "^3.8.11",
"gulp-coveralls": "^0.1.3",
"gulp-istanbul": "^0.6.0",
"gulp-mocha": "^2.0.0",
"rescale": "^6.1.0",
"linear-arbitrary-precision": "^3.1.0",
"linear-preset-factory": "^1.0.2",
"rescale": "^8.0.1",
"rimraf": "^2.3.2",
"should": "^5.0.0"
}
Expand Down
39 changes: 20 additions & 19 deletions test/presets.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,34 @@

require('should');

var rescale = require('rescale')(require('floating-adapter')).rescale;
var tempDiff = require('../src/linear-presets-temperature-difference');
var Decimal = require('linear-arbitrary-precision')(require('floating-adapter'));
var rescale = require('rescale')(Decimal).rescale;
var tempDiff = require('linear-preset-factory')(require('../src/linear-presets-temperature-difference'));

function convert(x, preset) {
return rescale(x, preset[0], preset[1]);
};
return Number(rescale(preset[0], preset[1], x));
}

function invert(preset) {
return preset.slice(0).reverse();
};
}

describe('temperature difference presets', function() {
it('should convert correctly', function() {
(138600).should.be.exactly(convert(249480, invert(tempDiff.celsiusToFahrenheit)), 'celsiusToFahrenheit')
.and.exactly(convert(138600, invert(tempDiff.celsiusToKelvin)), 'celsiusToKelvin')
.and.exactly(convert(249480, invert(tempDiff.celsiusToRankine)), 'celsiusToRankine')
.and.exactly(convert(-207900, invert(tempDiff.celsiusToDelisle)), 'celsiusToDelisle')
.and.exactly(convert(45738, invert(tempDiff.celsiusToNewton)), 'celsiusToNewton')
.and.exactly(convert(110880, invert(tempDiff.celsiusToReaumur)), 'celsiusToReaumur')
.and.exactly(convert(72765, invert(tempDiff.celsiusToRomer)), 'celsiusToRomer');
(138600).should.be.exactly(convert(249480, invert(tempDiff.celsius_fahrenheit)), 'celsius_fahrenheit')
.and.exactly(convert(138600, invert(tempDiff.celsius_kelvin)), 'celsius_kelvin')
.and.exactly(convert(249480, invert(tempDiff.celsius_rankine)), 'celsius_rankine')
.and.exactly(convert(-207900, invert(tempDiff.celsius_delisle)), 'celsius_delisle')
.and.exactly(convert(45738, invert(tempDiff.celsius_newton)), 'celsius_newton')
.and.exactly(convert(110880, invert(tempDiff.celsius_reaumur)), 'celsius_reaumur')
.and.exactly(convert(72765, invert(tempDiff.celsius_romer)), 'celsius_romer');

(0).should.be.exactly(convert(0, invert(tempDiff.celsiusToFahrenheit)), 'celsiusToFahrenheit')
.and.exactly(convert(0, invert(tempDiff.celsiusToKelvin)), 'celsiusToKelvin')
.and.exactly(convert(0, invert(tempDiff.celsiusToRankine)), 'celsiusToRankine')
.and.exactly(convert(0, invert(tempDiff.celsiusToDelisle)), 'celsiusToDelisle')
.and.exactly(convert(0, invert(tempDiff.celsiusToNewton)), 'celsiusToNewton')
.and.exactly(convert(0, invert(tempDiff.celsiusToReaumur)), 'celsiusToReaumur')
.and.exactly(convert(0, invert(tempDiff.celsiusToRomer)), 'celsiusToRomer');
(0).should.be.exactly(convert(0, invert(tempDiff.celsius_fahrenheit)), 'celsius_fahrenheit')
.and.exactly(convert(0, invert(tempDiff.celsius_kelvin)), 'celsius_kelvin')
.and.exactly(convert(0, invert(tempDiff.celsius_rankine)), 'celsius_rankine')
.and.exactly(convert(0, invert(tempDiff.celsius_delisle)), 'celsius_delisle')
.and.exactly(convert(0, invert(tempDiff.celsius_newton)), 'celsius_newton')
.and.exactly(convert(0, invert(tempDiff.celsius_reaumur)), 'celsius_reaumur')
.and.exactly(convert(0, invert(tempDiff.celsius_romer)), 'celsius_romer');
});
});

0 comments on commit 0143007

Please sign in to comment.