/* * test/10_dadd.js - dadd tests * * @licstart The following is the entire license notice for the * JavaScript code in this file. * * Copyright (C) 2017 Libiquity LLC * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * As additional permission under GNU GPL version 3 section 7, you * may distribute non-source (e.g. minimized or compacted) forms of * this program without the copy of the GNU GPL normally required by * section 4, provided you include this license notice and a URL * through which recipients can access the Corresponding Source. * * @licend The above is the entire license notice * for the JavaScript code in this file. */ var assert = require("assert"); require("../lib/decmath.js"); describe("dadd()", function() { var tests = [ /* a b c */ [ 2 , 2 , "4." ], [ 1 , 0.23, "1.23"], [ 0.23, 1 , "1.23"], [ 1 , -1 , "0." ], [-1 , 1 , "0." ], [ 1.23, 4.56, "5.79"], [-1.23, 4.56, "3.33"], [-1.23, -4.56, "-5.79"], [ 0.1 , 0.1 , ".2" ], [-0.1 , -0.1 , "-.2" ], [ 0.1 , -0.1 , ".0" ], [-0.1 , 0.1 , ".0" ], [ 9.95, 0.52, "10.47"], ]; tests.forEach(function(test) { it("correctly adds " + test[0] + " + " + test[1] + " = " + test[2], function() { assert.equal(dadd(test[0], test[1]), test[2]); }); }); it("correctly adds 0.01 10000 times", function() { var a = 0; for (var i = 0; i < 10000; ++i) { a = dadd(a, 0.01); } assert.equal(a, "100.00"); }); });