Browse Source

Added score tests

Arnaud Vergnet 4 years ago
parent
commit
e6fcbdb165
2 changed files with 75 additions and 0 deletions
  1. 4
    0
      screens/Tetris/ScoreManager.js
  2. 71
    0
      screens/Tetris/__tests__/ScoreManager.test.js

+ 4
- 0
screens/Tetris/ScoreManager.js View File

@@ -22,6 +22,10 @@ export default class ScoreManager {
22 22
         return this.#level;
23 23
     }
24 24
 
25
+    getLevelProgression(): number {
26
+        return this.#levelProgression;
27
+    }
28
+
25 29
     incrementScore() {
26 30
         this.#score++;
27 31
     }

+ 71
- 0
screens/Tetris/__tests__/ScoreManager.test.js View File

@@ -0,0 +1,71 @@
1
+import React from 'react';
2
+import ScoreManager from "../ScoreManager";
3
+
4
+
5
+test('incrementScore', () => {
6
+    let scoreManager = new ScoreManager();
7
+    expect(scoreManager.getScore()).toBe(0);
8
+    scoreManager.incrementScore();
9
+    expect(scoreManager.getScore()).toBe(1);
10
+});
11
+
12
+test('addLinesRemovedPoints', () => {
13
+    let scoreManager = new ScoreManager();
14
+    scoreManager.addLinesRemovedPoints(0);
15
+    scoreManager.addLinesRemovedPoints(5);
16
+    expect(scoreManager.getScore()).toBe(0);
17
+    expect(scoreManager.getLevelProgression()).toBe(0);
18
+
19
+    scoreManager.addLinesRemovedPoints(1);
20
+    expect(scoreManager.getScore()).toBe(40);
21
+    expect(scoreManager.getLevelProgression()).toBe(1);
22
+
23
+    scoreManager.addLinesRemovedPoints(2);
24
+    expect(scoreManager.getScore()).toBe(140);
25
+    expect(scoreManager.getLevelProgression()).toBe(4);
26
+
27
+    scoreManager.addLinesRemovedPoints(3);
28
+    expect(scoreManager.getScore()).toBe(440);
29
+    expect(scoreManager.getLevelProgression()).toBe(9);
30
+
31
+    scoreManager.addLinesRemovedPoints(4);
32
+    expect(scoreManager.getScore()).toBe(1640);
33
+    expect(scoreManager.getLevelProgression()).toBe(17);
34
+});
35
+
36
+test('canLevelUp', () => {
37
+    let scoreManager = new ScoreManager();
38
+    expect(scoreManager.canLevelUp()).toBeFalse();
39
+    expect(scoreManager.getLevel()).toBe(0);
40
+    expect(scoreManager.getLevelProgression()).toBe(0);
41
+
42
+    scoreManager.addLinesRemovedPoints(1);
43
+    expect(scoreManager.canLevelUp()).toBeTrue();
44
+    expect(scoreManager.getLevel()).toBe(1);
45
+    expect(scoreManager.getLevelProgression()).toBe(1);
46
+
47
+    scoreManager.addLinesRemovedPoints(1);
48
+    expect(scoreManager.canLevelUp()).toBeFalse();
49
+    expect(scoreManager.getLevel()).toBe(1);
50
+    expect(scoreManager.getLevelProgression()).toBe(2);
51
+
52
+    scoreManager.addLinesRemovedPoints(2);
53
+    expect(scoreManager.canLevelUp()).toBeFalse();
54
+    expect(scoreManager.getLevel()).toBe(1);
55
+    expect(scoreManager.getLevelProgression()).toBe(5);
56
+
57
+    scoreManager.addLinesRemovedPoints(1);
58
+    expect(scoreManager.canLevelUp()).toBeTrue();
59
+    expect(scoreManager.getLevel()).toBe(2);
60
+    expect(scoreManager.getLevelProgression()).toBe(1);
61
+
62
+    scoreManager.addLinesRemovedPoints(4);
63
+    expect(scoreManager.canLevelUp()).toBeFalse();
64
+    expect(scoreManager.getLevel()).toBe(2);
65
+    expect(scoreManager.getLevelProgression()).toBe(9);
66
+
67
+    scoreManager.addLinesRemovedPoints(2);
68
+    expect(scoreManager.canLevelUp()).toBeTrue();
69
+    expect(scoreManager.getLevel()).toBe(3);
70
+    expect(scoreManager.getLevelProgression()).toBe(2);
71
+});

Loading…
Cancel
Save