
import { parseDouble, parseDoubleDetailed } from '../../src/index.js';
import { expect } from 'chai';
import { describe } from 'mocha';


describe('parseDouble', function() {
	it('should parse a double correctly', 
	function() {
        {
            let a = -0.1;
            let rd = parseDoubleDetailed(a);
            
            expect(rd).to.eql({
                full: '10111111101111001100110011001100110011001100110011001100110011010',
                sign: '1',
                exponent: '01111111011',
                hidden: '1',
                significand: '1001100110011001100110011001100110011001100110011010'
            });
            

            let r = parseDouble(a);

            expect(r).to.eql({
                sign: 1,
                exponent: -4,
                significand: [
                    25, 
                    153,
                    153,
                    153,
                    153,
                    153,
                    154
                ]
            });
        }

        {
            let a = +0.1;
            let rd = parseDoubleDetailed(a);
            
            expect(rd).to.eql({
                full: '00111111101111001100110011001100110011001100110011001100110011010',
                sign: '0',
                exponent: '01111111011',
                hidden: '1',
                significand: '1001100110011001100110011001100110011001100110011010'
            });

            let r = parseDouble(a);

            expect(r).to.eql({
                sign: 0,
                exponent: -4,
                significand: [
                    25, 
                    153,
                    153,
                    153,
                    153,
                    153,
                    154
                ]
            });
        }
	});
});