-
-
Notifications
You must be signed in to change notification settings - Fork 199
/
Copy pathvector1d.test.ts
63 lines (59 loc) · 1.68 KB
/
vector1d.test.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
import { Vector1D } from '../components/vector1d'
let vector1: Vector1D
let vector2: Vector1D
beforeEach(() => {
vector1 = Vector1D(10)
vector2 = Vector1D(5)
})
describe('Vector1D', () => {
describe('Get & Set', () => {
test('Gets Vector value', () => {
expect(vector1.get()).toBe(10)
})
test('Sets Vector value to given Vector', () => {
vector1.set(vector2)
expect(vector1.get()).toBe(5)
})
test('Sets Vector value to given number', () => {
vector1.setNumber(5)
expect(vector1.get()).toBe(5)
})
test('Gets Vector magnitude', () => {
expect(vector1.magnitude()).toBe(10)
})
})
describe('Operations', () => {
test('Adds given Vector to Vector value', () => {
vector1.add(vector2)
expect(vector1.get()).toBe(15)
})
test('Subtracts given Vector from Vector value', () => {
vector1.subtract(vector2)
expect(vector1.get()).toBe(5)
})
test('Multiplies Vector value with given number', () => {
vector1.multiply(5)
expect(vector1.get()).toBe(50)
})
test('Divides Vector value with given number', () => {
vector1.divide(5)
expect(vector1.get()).toBe(2)
})
test('Adds given number to Vector value', () => {
vector1.addNumber(5)
expect(vector1.get()).toBe(15)
})
test('Subtracts given number from Vector value', () => {
vector1.subtractNumber(5)
expect(vector1.get()).toBe(5)
})
test('Normalizes Vector value to 1', () => {
vector1.normalize()
expect(vector1.get()).toBe(1)
})
test('Limits Vector value to given number', () => {
vector1.limit(5)
expect(vector1.get()).toBe(5)
})
})
})