Source Code
<script type="text/javascript" src="ipnum.js"></script> <script type="text/javascript"> //<![CDATA[ // output function output(text) { var output = document.getElementById('output'); output.appendChild(document.createTextNode(text)); output.appendChild(document.createElement('br')); } // test get/set array function testGetSetArray() { var o = 'test getArray and setArray: '; var a1 = new Array(3); a1[0] = new Array(); a1[1] = new Array(); a1[2] = 1; a1[0].push(1); a1[0].push(2); a1[0].push(3); a1[1].push(5); a1[1].push(6); a1[1].push(7); var i1 = new IpNum(); i1.setArray(a1); var a2 = i1.getArray(); var i2 = new IpNum(); i2.setArray(a2); o += i1.getString() + ' = ' + i2.getString(); if (i1.equals(i2)) o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test get/set string function testGetSetString() { var o = 'test getString and setString: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = i1.getString(); o += s1 + ' = ' + s2; if (s1 == s2) o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test getString and setString: '; var s3 = '0'; var i2 = new IpNum(); i2.setString(s3); var s4 = i2.getString(); o += s3 + ' = ' + s4; if (s3 == s4) o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test equals function testEquals() { var o = 'test equals: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '123.456'; var i2 = new IpNum(); i2.setString(s2); o += s1 + ' = ' + s2; if (i1.equals(i2)) o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test equals: '; var s3 = '123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '123.457'; var i4 = new IpNum(); i4.setString(s4); o += s3 + ' != ' + s4; if (!(i3.equals(i4))) o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test abs function testAbs() { var o = 'test abs: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); i2 = i1.abs(); var s2 = i2.getString(); o += 'abs(' + s1 + ')' + ' = ' + s2; if (s2 == '123.456') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test abs: '; var s3 = '-123.456'; var i3 = new IpNum(); i3.setString(s3); i4 = i3.abs(); var s4 = i4.getString(); o += 'abs(' + s3 + ')' + ' = ' + s4; if (s4 == '123.456') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test gt function testGt() { var o = 'test gt: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '123.455'; var i2 = new IpNum(); i2.setString(s2); o += s1 + ' > ' + s2; if (i1.gt(i2)) o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test gt: '; var s3 = '123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '123.456'; var i4 = new IpNum(); i4.setString(s4); o += s3 + ' !> ' + s4; if (!(i3.gt(i4))) o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test lt function testLt() { var o = 'test lt: '; var s1 = '-123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '-123.455'; var i2 = new IpNum(); i2.setString(s2); o += s1 + ' < ' + s2; if (i1.lt(i2)) o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test lt: '; var s3 = '-123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '-123.456'; var i4 = new IpNum(); i4.setString(s4); o += s3 + ' !< ' + s4; if (!(i3.lt(i4))) o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test gte function testGte() { var o = 'test gte: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '123.455'; var i2 = new IpNum(); i2.setString(s2); o += s1 + ' >= ' + s2; if (i1.gte(i2)) o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test gte: '; var s3 = '123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '123.456'; var i4 = new IpNum(); i4.setString(s4); o += s3 + ' >= ' + s4; if (i3.gte(i4)) o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test lte function testLte() { var o = 'test lte: '; var s1 = '-123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '-123.455'; var i2 = new IpNum(); i2.setString(s2); o += s1 + ' <= ' + s2; if (i1.lte(i2)) o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test lte: '; var s3 = '-123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '-123.456'; var i4 = new IpNum(); i4.setString(s4); o += s3 + ' <= ' + s4; if (i3.lte(i4)) o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test add function testAdd() { var o = 'test add: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '78.9'; var i2 = new IpNum(); i2.setString(s2); o += s1 + '+' + s2 + ' = 202.356'; if (i1.add(i2).getString() == '202.356') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test add: '; var s3 = '123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '-789.01'; var i4 = new IpNum(); i4.setString(s4); o += s3 + '+' + s4 + ' = -665.554'; if (i3.add(i4).getString() == '-665.554') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test add: '; var s5 = '-123.456'; var i5 = new IpNum(); i5.setString(s5); var s6 = '131.01'; var i6 = new IpNum(); i6.setString(s6); o += s5 + '+' + s6 + ' = 7.554'; if (i5.add(i6).getString() == '7.554') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test sub function testSub() { var o = 'test sub: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '78.9'; var i2 = new IpNum(); i2.setString(s2); o += s1 + '-' + s2 + ' = 44.556'; if (i1.sub(i2).getString() == '44.556') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test sub: '; var s3 = '123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '-789.01'; var i4 = new IpNum(); i4.setString(s4); o += s3 + '-' + s4 + ' = 912.466'; if (i3.sub(i4).getString() == '912.466') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test sub: '; var s5 = '-123.456'; var i5 = new IpNum(); i5.setString(s5); var s6 = '131.01'; var i6 = new IpNum(); i6.setString(s6); o += s5 + '-' + s6 + ' = -254.466'; if (i5.sub(i6).getString() == '-254.466') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test mul function testMul() { var o = 'test mul: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); var s2 = '78.9'; var i2 = new IpNum(); i2.setString(s2); o += s1 + '*' + s2 + ' = 9740.6784'; if (i1.mul(i2).getString() == '9740.6784') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test mul: '; var s3 = '123.456'; var i3 = new IpNum(); i3.setString(s3); var s4 = '-789.01'; var i4 = new IpNum(); i4.setString(s4); o += s3 + '*' + s4 + ' = -97408.01856'; if (i3.mul(i4).getString() == '-97408.01856') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test mul: '; var s5 = '-123.456'; var i5 = new IpNum(); i5.setString(s5); var s6 = '-0.01'; var i6 = new IpNum(); i6.setString(s6); o += s5 + '*' + s6 + ' = 1.23456'; if (i5.mul(i6).getString() == '1.23456') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test fact function testFact() { var o = 'test fact: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); o += 'fact(' + s1 + ') = undefined'; if (i1.fact() == undefined) o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test fact: '; var s2 = '0'; var i2 = new IpNum(); i2.setString(s2); o += 'fact(' + s2 + ') = 1'; if (i2.fact().getString() == '1') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test fact: '; var s3 = '5'; var i3 = new IpNum(); i3.setString(s3); o += 'fact(' + s3 + ') = 120'; if (i3.fact().getString() == '120') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test floor function testFloor() { var o = 'test floor: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); i2 = i1.floor(); var s2 = i2.getString(); o += 'floor(' + s1 + ')' + ' = ' + s2; if (s2 == '123') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test floor: '; var s3 = '-123.456'; var i3 = new IpNum(); i3.setString(s3); i4 = i3.floor(); var s4 = i4.getString(); o += 'floor(' + s3 + ')' + ' = ' + s4; if (s4 == '-123') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test ceil function testCeil() { var o = 'test ceil: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); i2 = i1.ceil(); var s2 = i2.getString(); o += 'ceil(' + s1 + ')' + ' = ' + s2; if (s2 == '124') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test ceil: '; var s3 = '-123.456'; var i3 = new IpNum(); i3.setString(s3); i4 = i3.ceil(); var s4 = i4.getString(); o += 'ceil(' + s3 + ')' + ' = ' + s4; if (s4 == '-124') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // test round function testRound() { var o = 'test round: '; var s1 = '123.456'; var i1 = new IpNum(); i1.setString(s1); i2 = i1.round(); var s2 = i2.getString(); o += 'round(' + s1 + ')' + ' = ' + s2; if (s2 == '123') o += ' [OK]'; else o += ' [FAIL]'; output(o); o = 'test round: '; var s3 = '-123.789'; var i3 = new IpNum(); i3.setString(s3); i4 = i3.round(); var s4 = i4.getString(); o += 'round(' + s3 + ')' + ' = ' + s4; if (s4 == '-124') o += ' [OK]'; else o += ' [FAIL]'; output(o); } // tests function tests() { testGetSetArray(); testGetSetString(); testEquals(); testAbs(); testGt(); testLt(); testGte(); testLte(); testAdd(); testSub(); testMul(); testFact(); testFloor(); testCeil(); testRound(); } window.onload = tests; //]]> </script> <div id="output"> </div>