-
Notifications
You must be signed in to change notification settings - Fork 0
/
convertBytesToHuman.test.js
35 lines (31 loc) · 1.4 KB
/
convertBytesToHuman.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
/*
* Необходимо покрыть все возможные
* и невозможные кейсы. Например,
* convertBytesToHuman(-1) === false,
* convertBytesToHuman(-1) !== 1,
* convertBytesToHuman('string') === false
* convertBytesToHuman(5) === 5
*/
import {convertBytesToHuman} from './convertBytesToHuman'
test('Возвращает false для неправильного типа данных', () => {
expect(convertBytesToHuman("")).toBe(false)
expect(convertBytesToHuman("s")).toBe(false)
expect(convertBytesToHuman("1024")).toBe(false)
expect(convertBytesToHuman(-1)).toBe(false)
expect(convertBytesToHuman(0.5)).toBe(false)
expect(convertBytesToHuman(-0.5)).toBe(false)
expect(convertBytesToHuman(null)).toBe(false)
expect(convertBytesToHuman(undefined)).toBe(false)
expect(convertBytesToHuman(NaN)).toBe(false)
expect(convertBytesToHuman(Infinity)).toBe(false)
expect(convertBytesToHuman(-Infinity)).toBe(false)
})
test('Возвращает корректное значение для чисел', () => {
expect(convertBytesToHuman(0)).toBe("0 B")
expect(convertBytesToHuman(1)).toBe("1 B")
expect(convertBytesToHuman(1024)).toBe("1 KB")
expect(convertBytesToHuman(2.252*1024**5)).toBe("2.25 PB")
expect(convertBytesToHuman(1024**2 - 2)).toBe("1 MB")
expect(convertBytesToHuman(2.5 - 2.5)).toBe("0 B")
})
// другая группа проверок