UNPKG

javascript-binary-converter

Version:

A utility package to quickly handle and convert various Javascript binary objects

51 lines 3.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const expect_1 = require("expect"); const BinaryConverter_1 = __importDefault(require("../../converters/BinaryConverter")); let converter = BinaryConverter_1.default; describe('Node BinaryConverter tests', () => { it('Should return decimal, from binary', async function () { let decimal = new converter('0010100101101100000101100111').toInteger(); (0, expect_1.expect)(decimal).toBe(43434343); decimal = new converter('00111110110111100110000111010000').toInteger(); (0, expect_1.expect)(decimal).toBe(1054761424); decimal = new converter('10111110110111100110000111010000').toInteger(); (0, expect_1.expect)(decimal).toBe(3202245072); decimal = new converter('1111111111110100').toInteger({ isSigned: false }); (0, expect_1.expect)(decimal).toBe(65524); }); it('Should return decimal, from binary, signed convention', async function () { let decimal = new converter('1111111111110100').toInteger({ isSigned: true }); (0, expect_1.expect)(decimal).toBe(-12); decimal = new converter('10111110110111100110000111010000').toInteger({ isSigned: true }); (0, expect_1.expect)(decimal).toBe(-1092722224); }); it('Should return float, from binary', async function () { let float = new converter('0010100101101100000101100111').toFloat(); (0, expect_1.expect)(float.toString()).toContain('2.215152'); float = new converter('00111110110111100110000111010000').toFloat(); (0, expect_1.expect)(float.toString()).toContain('0.43434000015'); float = new converter('10111110110111100110000111010000').toFloat(); (0, expect_1.expect)(float.toString()).toContain('-0.43434000015'); float = new converter('01111111011111111111111111111111').toFloat(); (0, expect_1.expect)(float).toBe(3.4028234663852886e+38); }); it('Should return double precision float, from binary', async function () { let float = new converter('1111111111100001110011001111001110000101111010111100100010100000').toFloat({ precision: 'DOUBLE' }); // '1111111111100001110011001111001110000101111010111100100010100000' (0, expect_1.expect)(float).toBe(-1.0e308); float = new converter('0111111111101111111111111111111111111111111111111111111111111110').toFloat({ precision: 'DOUBLE' }); (0, expect_1.expect)(float).toBe(1.7976931348623155e+308); }); it('Should return hex, from binary', async function () { let binary = new converter('10100101101100000101100111').toHexString(); (0, expect_1.expect)(binary).toBe('296C167'); // 111110110111100110000111010000 binary = new converter('111110110111100110000111010000').toHexString(); (0, expect_1.expect)(binary).toBe('3EDE61D0'); }); }); //# sourceMappingURL=node-binary-converter.spec.js.map