-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.test.js
63 lines (55 loc) · 2.41 KB
/
index.test.js
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
const InsuranceStats = require('./insuranceStats');
const InsuranceEvent = require('./insuranceEvent');
describe('InsuranceStats class', () => {
let insuranceStats = null
beforeEach(() => {
insuranceStats = new InsuranceStats()
})
it('should has an initial empty events array', () => {
expect(insuranceStats.events.length).toBe(0)
})
it('should ingest a new event', () => {
expect(insuranceStats.events.length).toBe(0)
let newEvent = new InsuranceEvent(1, 'today', 100)
insuranceStats.ingest(newEvent)
expect(insuranceStats.events.length).toBe(1)
expect(insuranceStats.events[0]).toBe(newEvent)
})
it('get the user sum', () => {
let newEvent = new InsuranceEvent(1, 'today', 100)
let newEvent2 = new InsuranceEvent(1, 'yestarday', 200)
let newEvent3 = new InsuranceEvent(2, 'yesterday', 300)
insuranceStats.ingest(newEvent)
insuranceStats.ingest(newEvent2)
insuranceStats.ingest(newEvent3)
expect(insuranceStats.getSum(0)).toBe(null)
expect(insuranceStats.getSum(1)).toBe(100+200)
expect(insuranceStats.getSum(2)).toBe(300)
})
it('get the user max', () => {
let newEvent = new InsuranceEvent(1, 'today', 100)
let newEvent2 = new InsuranceEvent(1, 'yestarday', 200)
let newEvent3 = new InsuranceEvent(1, 'yestarday', 150)
let newEvent4 = new InsuranceEvent(2, 'yesterday', 300)
insuranceStats.ingest(newEvent)
insuranceStats.ingest(newEvent2)
insuranceStats.ingest(newEvent3)
insuranceStats.ingest(newEvent4)
expect(insuranceStats.getMax(0)).toBe(null)
expect(insuranceStats.getMax(1)).toBe(Math.max(100, 200, 150))
expect(insuranceStats.getMax(2)).toBe(Math.max(300))
})
it('get the user mean', () => {
let newEvent = new InsuranceEvent(1, 'today', 125)
let newEvent2 = new InsuranceEvent(1, 'yestarday', 300)
let newEvent3 = new InsuranceEvent(1, 'yestarday', 175)
let newEvent4 = new InsuranceEvent(2, 'yesterday', 300)
insuranceStats.ingest(newEvent)
insuranceStats.ingest(newEvent2)
insuranceStats.ingest(newEvent3)
insuranceStats.ingest(newEvent4)
expect(insuranceStats.getMean(0)).toBe(null)
expect(insuranceStats.getMean(1)).toBe((125+300+175)/3)
expect(insuranceStats.getMean(2)).toBe(300)
})
})