assertEq(Number.toInteger(4), 4);
assertEq(Number.toInteger(4.), 4);
assertEq(Number.toInteger(4.3), 4);
assertEq(Number.toInteger(-4), -4);
assertEq(Number.toInteger(-4.), -4);
assertEq(Number.toInteger(-4.3), -4);
assertEq(Number.toInteger(0.), 0.);
assertEq(Number.toInteger(-0.), -0.);
assertEq(Number.toInteger(Infinity), Infinity);
assertEq(Number.toInteger(-Infinity), -Infinity);
assertEq(Number.toInteger(NaN), 0);
assertEq(Number.toInteger(null), 0);
assertEq(Number.toInteger(undefined), 0);
assertEq(Number.toInteger(true), 1);
assertEq(Number.toInteger(false), 0);
assertEq(Number.toInteger({valueOf : function () { return 4; }}), 4);
assertEq(Number.toInteger({valueOf : function () { return 4.3; }}), 4);
assertEq(Number.toInteger({valueOf : function () { return "4"; }}), 4);
assertEq(Number.toInteger({valueOf : function () { return {};}}), 0);
assertEq(Number.toInteger(), 0);
