This repository has been archived by the owner on Jul 26, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
/
packet-meter-usb.spec.ts
72 lines (70 loc) · 1.78 KB
/
packet-meter-usb.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import { assert, use } from 'chai';
import chaiBytes from 'chai-bytes';
import 'mocha';
import { USBMeterPacket } from './packet-meter-usb';
import { isMeterPacket } from './utils';
use(chaiBytes);
describe('USB Meter', () => {
const entries: Record<string, InstanceType<typeof USBMeterPacket>> = {
FF5501030001F3000000000638000003110007000A000000122E333C000000000000004E: {
type: 3,
mVoltage: 4990,
mAmpere: 0,
mWatt: 0,
mAh: 15920,
mWh: 7850,
dataN: 70,
dataP: 100,
temperature: 0,
duration: '018:46:51',
backlightTime: 60,
},
FF5501030001FB000000003CC70000554E00070007000000472F243C00000000000000CE: {
type: 3,
mVoltage: 5070,
mAmpere: 0,
mWatt: 0,
mAh: 155590,
mWh: 218380,
dataN: 70,
dataP: 70,
temperature: 0,
duration: '071:47:36',
backlightTime: 60,
},
FF5501030001CD00007F003CC80000554E0009000A00000047300D3C000000000000008F: {
type: 3,
mVoltage: 4610,
mAmpere: 1270,
mWatt: 5855,
mAh: 155600,
mWh: 218380,
dataN: 90,
dataP: 100,
temperature: 0,
duration: '071:48:13',
backlightTime: 60,
},
FF5501030001FB000001006C3F00006C4400070006001A00471C1A3C0000000000000078: {
type: 3,
mVoltage: 5070,
mAmpere: 10,
mWatt: 51,
mAh: 277110,
mWh: 277160,
dataN: 70,
dataP: 60,
temperature: 26,
duration: '071:28:26',
backlightTime: 60,
},
};
for (const [packet, expected] of Object.entries(entries)) {
it(packet, () => {
const block = Buffer.from(packet, 'hex');
const report = new USBMeterPacket(block);
assert.isTrue(isMeterPacket(report));
assert.deepEqual(expected, report);
});
}
});