UNPKG

nucos-tmp

Version:

NOAA Unit Conversion for Oil Spills

121 lines (93 loc) 4.08 kB
var assert = require('assert'); describe('nucos', function(){ it('should import with amd', function(){ var requirejs = require('requirejs'); var n_test = requirejs('/../nucos.js'); assert.notEqual(n_test, undefined); }); it('should import with commonjs', function(){ var n_test = require('../nucos'); assert.notEqual(n_test, undefined); }); }); var nucos = require('../nucos'); describe('nucos.sexagesimal2decimal', function(){ it('should convert lat long into decimal', function(){ var lon = "24° 43' 30.16\""; var lat = "58° 44' 43.97\""; assert.equal(nucos.sexagesimal2decimal(lon), 24.72504444); assert.equal(nucos.sexagesimal2decimal(lat), 58.74554722); }); it('should convert lat long into decimal w/o fancy characters', function(){ var lon = "24 43 30.16"; var lat = "58 44 43.97"; assert.equal(nucos.sexagesimal2decimal(lon), 24.72504444); assert.equal(nucos.sexagesimal2decimal(lat), 58.74554722); }); it('should understand negative degrees minutes seconds ', function(){ var lon = "24 43 30.16"; var lat = "-58 44 43.97"; assert.equal(nucos.sexagesimal2decimal(lon), 24.72504444); assert.equal(nucos.sexagesimal2decimal(lat), -58.74554722); }); it('should convert to a negative w/ W and S', function(){ var lon = "24° 43' 30.16\"W"; var lat = "58° 44' 43.97\"S"; assert.equal(nucos.sexagesimal2decimal(lon), -24.72504444); assert.equal(nucos.sexagesimal2decimal(lat), -58.74554722); }); it('should convert to a negative w/ w and s', function(){ var lon = "24° 43' 30.16\"w"; var lat = "58° 44' 43.97\"s"; assert.equal(nucos.sexagesimal2decimal(lon), -24.72504444); assert.equal(nucos.sexagesimal2decimal(lat), -58.74554722); }); it('should convert with fancy characters, degrees, and decimal', function(){ var lon = "42° 20.45' N"; assert.equal(nucos.sexagesimal2decimal(lon), 42.34083333); }); it('should convert degress w/ decimal minutes', function(){ var lon = "24 43.16"; var lat = "58 44.43"; assert.equal(nucos.sexagesimal2decimal(lon), 24.71933333); assert.equal(nucos.sexagesimal2decimal(lat), 58.7405); }); it('should convert degrees w/ just degree minutes, no decimal', function(){ var lon = "24 43"; var lat = "58 44"; assert.equal(nucos.sexagesimal2decimal(lon), 24.71666667); assert.equal(nucos.sexagesimal2decimal(lat), 58.73333333); }); it('should leave decimals alone', function(){ var lon = "43.23423"; var lat = "-124.2334"; assert.equal(nucos.sexagesimal2decimal(lon), 43.23423); assert.equal(nucos.sexagesimal2decimal(lat), -124.2334); }); it('should sanitize leading and trailing spaces', function(){ var lon = " 43.23423 "; var lat = " -124.2334 "; assert.equal(nucos.sexagesimal2decimal(lon), 43.23423); assert.equal(nucos.sexagesimal2decimal(lat), -124.2334); }); it('should not choke on cardinal directions with a decimal', function(){ var lon = "43.23423 N"; var lat = "-124.2334 W"; assert.equal(nucos.sexagesimal2decimal(lon), 43.23423); assert.equal(nucos.sexagesimal2decimal(lat), -124.2334); }); }); describe('nucos.convert', function(){ it('should convert same unit density', function(){ assert.equal(nucos.convert("Density", "API degree", "kg/m^3", 10), 999.13); }); it('should parse unicode exponenets', function(){ assert.equal(nucos.convert('Density', 'API degree', 'kg/m³', 10), 999.13); }); }); describe('nocos.OilQuantityConverter', function(){ it('should convert oil quantity between volume and mass', function(){ var oc = new nucos.OilQuantityConverter(); assert.equal(oc.Convert(50, "tons", 10, "API degree", "cubic meters"), 45.39873389849169); }); });