Commit | Line | Data |
---|---|---|
bfc75cca JB |
1 | const { expect } = require('expect') |
2 | const { | |
3 | DEFAULT_CIRCULAR_ARRAY_SIZE, | |
4 | CircularArray | |
5 | } = require('../../lib/circular-array') | |
6 | const { updateMeasurementStatistics } = require('../../lib/pools/utils') | |
7 | ||
8 | describe('Pool utils test suite', () => { | |
9 | it('Verify updateMeasurementStatistics() behavior', () => { | |
10 | const measurementStatistics = { | |
11 | history: new CircularArray() | |
12 | } | |
13 | updateMeasurementStatistics( | |
14 | measurementStatistics, | |
15 | { aggregate: true, average: false, median: false }, | |
16 | 0.01 | |
17 | ) | |
18 | expect(measurementStatistics).toStrictEqual({ | |
19 | aggregate: 0.01, | |
20 | maximum: 0.01, | |
21 | minimum: 0.01, | |
22 | history: new CircularArray() | |
23 | }) | |
24 | updateMeasurementStatistics( | |
25 | measurementStatistics, | |
26 | { aggregate: true, average: false, median: false }, | |
27 | 0.02 | |
28 | ) | |
29 | expect(measurementStatistics).toStrictEqual({ | |
30 | aggregate: 0.03, | |
31 | maximum: 0.02, | |
32 | minimum: 0.01, | |
33 | history: new CircularArray() | |
34 | }) | |
35 | updateMeasurementStatistics( | |
36 | measurementStatistics, | |
37 | { aggregate: true, average: true, median: false }, | |
38 | 0.001 | |
39 | ) | |
40 | expect(measurementStatistics).toStrictEqual({ | |
41 | aggregate: 0.031, | |
42 | maximum: 0.02, | |
43 | minimum: 0.001, | |
44 | average: 0.001, | |
45 | history: new CircularArray(DEFAULT_CIRCULAR_ARRAY_SIZE, 0.001) | |
46 | }) | |
47 | updateMeasurementStatistics( | |
48 | measurementStatistics, | |
49 | { aggregate: true, average: true, median: false }, | |
50 | 0.003 | |
51 | ) | |
52 | expect(measurementStatistics).toStrictEqual({ | |
53 | aggregate: 0.034, | |
54 | maximum: 0.02, | |
55 | minimum: 0.001, | |
56 | average: 0.002, | |
57 | history: new CircularArray(DEFAULT_CIRCULAR_ARRAY_SIZE, 0.001, 0.003) | |
58 | }) | |
59 | updateMeasurementStatistics( | |
60 | measurementStatistics, | |
61 | { aggregate: true, average: false, median: true }, | |
62 | 0.006 | |
63 | ) | |
64 | expect(measurementStatistics).toStrictEqual({ | |
65 | aggregate: 0.04, | |
66 | maximum: 0.02, | |
67 | minimum: 0.001, | |
68 | median: 0.003, | |
69 | history: new CircularArray( | |
70 | DEFAULT_CIRCULAR_ARRAY_SIZE, | |
71 | 0.001, | |
72 | 0.003, | |
73 | 0.006 | |
74 | ) | |
75 | }) | |
76 | updateMeasurementStatistics( | |
77 | measurementStatistics, | |
78 | { aggregate: true, average: true, median: false }, | |
79 | 0.01 | |
80 | ) | |
81 | expect(measurementStatistics).toStrictEqual({ | |
82 | aggregate: 0.05, | |
83 | maximum: 0.02, | |
84 | minimum: 0.001, | |
85 | average: 0.005, | |
86 | history: new CircularArray( | |
87 | DEFAULT_CIRCULAR_ARRAY_SIZE, | |
88 | 0.001, | |
89 | 0.003, | |
90 | 0.006, | |
91 | 0.01 | |
92 | ) | |
93 | }) | |
94 | }) | |
95 | }) |