// tostr assert(tostr(5) == "5"); assert(tostr(-5) == "-5"); assert(tostr(0) == "0"); assert(tostr(1.5) == "1.5"); assert(tostr(0.25) == "0.25"); assert(tostr(100) == "100"); assert(tostr(true) == "true"); assert(tostr(false) == "false"); assert(tostr(null) == "null"); assert(tostr(undefined) == "undefined"); assert(tostr("same") == "same"); assert(tostr([1, "a", true]) == "[1, \"a\", true]"); assert(tostr([]) == "[]"); assert(tostr({}) == "{}"); assert(tostr({a: 1}) == "{\"a\": 1}"); assert(tostr({a: 1, b: "x"}) == "{\"a\": 1, \"b\": \"x\"}"); assert(tostr([[1], [2, 3]]) == "[[1], [2, 3]]"); assert(tostr([1, null, [true]]) == "[1, null, [true]]"); // tostr with decimals assert(tostr(3.14159, 2) == "3.14"); assert(tostr(3, 2) == "3.00"); assert(tostr(2.5, 0) == "2" || tostr(2.5, 0) == "3"); assert(tostr(1.5, 1) == "1.5"); assert(tostr(0, 3) == "0.000"); assert(tostr(-1.25, 2) == "-1.25"); // tobase assert(tobase(255, 16) == "FF"); assert(tobase(255, 2) == "11111111"); assert(tobase(8, 8) == "10"); assert(tobase(0, 2) == "0"); assert(tobase(-5, 2) == "-101"); assert(tobase(35, 36) == "Z"); assert(tobase(true, 2) == "1"); assert(tobase(false, 2) == "0"); assert(tobase(10, 10) == "10"); // tonum assert(tonum("42") == 42); assert(tonum("-42") == -42); assert(tonum("3.5") == 3.5); assert(tonum("-0.5") == -0.5); assert(tonum("0") == 0); assert(tonum("007") == 7); assert(tonum(5) == 5); assert(tonum("ff", 16) == 255); assert(tonum("FF", 16) == 255); assert(tonum("0xff", 16) == 255); assert(tonum("101", 2) == 5); assert(tonum("0b101", 2) == 5); assert(tonum("z", 36) == 35); assert(tonum("-10", 10) == -10); assert(tonum(tostr(1234)) == 1234); assert(tonum(tobase(77, 2), 2) == 77); // tobool assert(tobool(true) == true); assert(tobool(false) == false); assert(tobool(1) == true); assert(tobool(0) == false); assert(tobool(-3) == true); assert(tobool("true") == true); assert(tobool("false") == false); // Round trips assert(tonum(tostr(12.5)) == 12.5); assert(tobool(tostr(true)) == true);