Passed
Push — master ( 20c00a...9a7ed1 )
by Rafael S.
01:38
created

to 1 64-bit float (314159265358979.3)ꞌ)   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 4
rs 10
1
2
var assert = require('assert');
3
4
describe('64-bit from bytes', function() {
5
    
6
    let byteData = require('../../index.js');
7
8
    it('should turn 8 bytes to 1 64-bit float', function() {
9
        assert.equal(byteData.fromBytes(
10
            [75,40,253,58,221,154,191,63], 64)[0],
11
            0.123456789876543);
12
    });
13
    it('should turn 7 bytes to 0 64-bit float (not enough bytes)', function() {
14
        assert.deepEqual(byteData.fromBytes([75,40,253,58,221,154,191], 64),
15
            []);
16
    });
17
    it('should turn 8 bytes to 1 64-bit float (Uint8Array)', function() {
18
        assert.equal(byteData.fromBytes(
19
            new Uint8Array([75,40,253,58,221,154,191,63]), 64)[0],
20
            0.123456789876543);
21
    });
22
    it('should turn 8 bytes to 1 64-bit float (Buffer)', function() {
23
        assert.equal(byteData.fromBytes(
24
            new Buffer.from([75,40,253,58,221,154,191,63]), 64)[0],
0 ignored issues
show
Bug introduced by
The variable Buffer seems to be never declared. If this is a global, consider adding a /** global: Buffer */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
25
            0.123456789876543);
26
    });
27
    it('should turn 9 bytes to 1 64-bit float (ignore the extra byte) (Buffer)', function() {
28
        assert.equal(byteData.fromBytes(
29
            new Buffer.from([75,40,253,58,221,154,191,63,00]), 64)[0],
0 ignored issues
show
Bug introduced by
The variable Buffer seems to be never declared. If this is a global, consider adding a /** global: Buffer */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
30
            0.123456789876543);
31
    });
32
    it('should turn 8 bytes to 1 64-bit float', function() {
33
        assert.equal(byteData.fromBytes(
34
            [0,0,0,0,0,0,0,0], 64)[0].toFixed(15),
35
            0);
36
    });
37
    it('should turn 16 bytes to 2 64-bit floats', function() {
38
        assert.equal(byteData.fromBytes(
39
            [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 64)[0].toFixed(15),
40
            0);
41
        assert.equal(byteData.fromBytes(
42
            [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 64)[1].toFixed(15),
43
            0);
44
    });
45
    it('should turn 8 bytes bin to 1 64-bit float', function() {
46
        assert.equal(byteData.fromBytes(
47
            [
48
                "00000000",
49
                "00000000",
50
                "00000000",
51
                "00000000",
52
                "00000000",
53
                "00000000",
54
                "00000000",
55
                "00000000"
56
            ], 64, {"base": 2})[0].toFixed(15),
57
            0);
58
    });
59
    it('should turn 8 bytes bin to 1 64-bit float', function() {
60
        assert.equal(byteData.fromBytes(
61
            [
62
                "01001011",
63
                "00101000",
64
                "11111101",
65
                "00111010",
66
                "11011101",
67
                "10011010",
68
                "10111111",
69
                "00111111"
70
            ], 64, {"base": 2})[0].toFixed(15),
71
            0.123456789876543);
72
    });
73
    it('should turn 8 bytes to 1 64-bit float (31.41592653589793)', function() {
74
        assert.deepEqual(byteData.fromBytes([94,56,85,41,122,106,63,64], 64),
75
            [31.41592653589793]);
76
    });
77
    it('should turn 8 bytes to 1 64-bit float (314159265358979.3)', function() {
78
        assert.deepEqual(byteData.fromBytes([53,72,162,118,158,219,241,66], 64, {"base": 10}),
79
            [314159265358979.3]);
80
    });
81
    it('should turn 8 bytes hex to 1 64-bit float (2)', function() {
82
        assert.deepEqual(
83
            byteData.fromBytes(
84
                ["00","00","00","00","00","00","00","40"], 64, {"base": 16}),
85
            [2]);
86
    });
87
});
88