GLOBAL.DDH = {}; var math = require('mathjs'); var Converter = require("../share/goodie/conversions/conversions.js"); /** * conversions_spec.js * * This file is for testing custom units defined in Converter.customUnits */ // custom units that are not supported by math.js function setUpCustomUnits() { for (var i = 0 ; i < Converter.customUnits.length ; i++) { math.createUnit( Converter.customUnits[i].name, Converter.customUnits[i].factor ) }; } // removes the unit function stripUnit( string ) { return string.toString().split(" ")[0]; } describe("Conversion of Custom Units", function() { setUpCustomUnits(); /** * CUSTOM DIGITAL UNITS */ it("should convert gb to mb", function() { var conversion = stripUnit(math.eval("2GB to MB")); expect(conversion).toEqual("2000"); }); it("should convert TB to MB", function() { var conversion = stripUnit(math.eval("8TB to MB")); expect(conversion).toEqual("8e+6"); }); it("should convert GB to TB", function() { var conversion = stripUnit(math.eval("1000GB to TB")); expect(conversion).toEqual("1"); }); it("should convert GB to TB", function() { var conversion = stripUnit(math.eval("100GB to TB")); expect(conversion).toEqual("0.1"); }); it("should convert TB to GB", function() { var conversion = stripUnit(math.eval("1TB to GB")); expect(conversion).toEqual("1000"); }); it("should convert MB to TB", function() { var conversion = stripUnit(math.eval("3500MB to TB")); expect(conversion).toEqual("0.0035"); }); it("should convert PB to TB", function() { var conversion = stripUnit(math.eval("5PB to TB")); expect(conversion).toEqual("5000"); }); it("should convert PB to GB", function() { var conversion = stripUnit(math.eval("7PB to GB")); expect(conversion).toEqual("7e+6"); }); it("should convert PB to GB", function() { var conversion = stripUnit(math.eval("7PB to GB")); expect(conversion).toEqual("7e+6"); }); it("should convert MB to gbits", function() { var conversion = stripUnit(math.eval("6500MB to gbit")); expect(conversion).toEqual("52"); }); it("should convert mbits to gbits", function() { var conversion = stripUnit(math.eval("100000mbit to gbit")); expect(conversion).toEqual("100"); }); it("should convert tbits to mbits", function() { var conversion = stripUnit(math.eval(".5tbit to mbit")); expect(conversion).toEqual("5e+5"); }); /** * CUSTOM ENERGY UNITS */ it("should convert joules to kilojoules", function() { var conversion = stripUnit(math.eval("8888joules to kilojoule")); expect(conversion).toEqual("8.888"); }); it("should convert joules to kilojoules", function() { var conversion = stripUnit(math.eval("34311joules to kilojoule")); expect(conversion).toEqual("34.311"); }); it("should convert gram calories to kilojoules", function() { var conversion = stripUnit(math.eval("34311323gramcalorie to kilojoule")); expect(conversion).toEqual("1.43558575432e+5"); }); it("should convert kilocalorie to kilojoules", function() { var conversion = stripUnit(math.eval("6543kilocalorie to kilojoule")); expect(conversion).toEqual("27375.912"); }); });