Skip to content

Commit c1c04d4

Browse files
committed
test: set random seed for deterministic test outcomes and update test cases for consistency
1 parent 9079580 commit c1c04d4

File tree

3 files changed

+27
-16
lines changed

3 files changed

+27
-16
lines changed

internal/stages_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package internal
22

33
import (
4+
"os"
45
"testing"
56

67
tester_utils_testing "github.com/codecrafters-io/tester-utils/testing"
78
)
89

910
func TestStages(t *testing.T) {
11+
os.Setenv("CODECRAFTERS_RANDOM_SEED", "1234567890")
12+
1013
testCases := map[string]tester_utils_testing.TesterOutputTestCase{
1114
"success": {
1215
UntilStageSlug: "a05",

internal/test_helpers/fixtures/test_bot/failure

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ Debug = true
22

33
[stage-5] Running tests for Stage #5: a05
44
[stage-5] $ ./script.sh
5-
[stage-5] 1/156 RUN Generate Chess Move for Position: r1bqr1k1/pp1nb1p1/4p2p/3p1p2/3P4/P1N1PNP1/1PQ2PP1/3RKB1R w K - 0 1
5+
[stage-5] 1/4 RUN Generate Chess Move for Position: 3R1rk1/8/5Qpp/2p5/2P1p1q1/P3P3/1P2PK2/8 b - - 0 1
66
[stage-5] Making HTTP request to http://localhost:8000/move
7-
[stage-5] Request completed in 4.794208ms
87
[stage-5] ✓ Received status code 200
98
[stage-5] Assertion failed: Invalid move received: e9e10
109
[stage-5] Test failed

internal/test_helpers/fixtures/test_bot/success

+23-14
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,54 @@ Debug = true
22

33
[stage-5] Running tests for Stage #5: a05
44
[stage-5] $ ./script.sh
5-
[stage-5] 1/156 RUN Generate Chess Move for Position: R7/P4k2/8/8/8/8/r7/6K1 w - - 0 1
5+
[stage-5] 1/4 RUN Generate Chess Move for Position: 5rk1/pp4p1/2n1p2p/2Npq3/2p5/6P1/P3P1BP/R4Q1K w - - 0 1
66
[stage-5] Making HTTP request to http://localhost:8000/move
7-
[stage-5] Request completed in 9.750833ms
87
[stage-5] ✓ Received status code 200
9-
[stage-5] ✓ Received valid move g1f1
8+
[stage-5] ✓ Received valid move h1g1
109
[stage-5] Request completed successfully
11-
[stage-5] 2/156 RUN Generate Chess Move for Position: 1r3b1k/p4rpp/4pp2/3q4/2ppbPPQ/6RK/PP5P/2B1NR2 b - - 0 1
10+
[stage-5] 2/4 RUN Generate Chess Move for Position: 3rr1k1/pp3pp1/4b3/8/2P1B2R/6QP/P3q1P1/5R1K w - - 0 1
1211
[stage-5] Making HTTP request to http://localhost:8000/move
13-
[stage-5] Request completed in 2.377333ms
1412
[stage-5] ✓ Received status code 200
15-
[stage-5] ✓ Received valid move h8g8
13+
[stage-5] ✓ Received valid move h1g1
1614
[stage-5] Request completed successfully
17-
[stage-5] 3/156 RUN Generate Chess Move for Position: r1bq4/1p4kp/3p1n2/p4pB1/2pQ4/8/1P4PP/4RRK1 w - - 0 1
15+
[stage-5] 3/4 RUN Generate Chess Move for Position: 4k1r1/2p3r1/1pR1p3/3pP2p/3P2qP/P4N2/1PQ4P/5R1K b - - 0 1
1816
[stage-5] Making HTTP request to http://localhost:8000/move
19-
[stage-5] Request completed in 1.738917ms
2017
[stage-5] ✓ Received status code 200
21-
[stage-5] ✓ Received valid move g1h1
18+
[stage-5] ✓ Received valid move e8d7
2219
[stage-5] Request completed successfully
23-
[stage-5] 4/156 RUN Generate Chess Move for Position: 2kr3r/pppq1ppp/3p1n2/bQ2p3/1n1PP3/1PN1BN1P/1PP2PP1/2KR3R b - - 0 1
20+
[stage-5] 4/4 RUN Generate Chess Move for Position: 3r1r1k/1p4pp/p4p2/8/1PQR4/6Pq/P3PP2/2R3K1 b - - 0 1
2421
[stage-5] Making HTTP request to http://localhost:8000/move
25-
[stage-5] Request completed in 6.505666ms
2622
[stage-5] ✓ Received status code 200
27-
[stage-5] ✓ Received valid move c8b8
23+
[stage-5] ✓ Received valid move h3f1
2824
[stage-5] Request completed successfully
2925
[stage-5] Test passed.
3026
[stage-5] Terminating program
3127
[stage-5] Program terminated successfully
3228

3329
[stage-4] Running tests for Stage #4: a04
3430
[stage-4] $ ./script.sh
31+
[stage-4] 1/3 RUN Generate Chess Move for Position: 2r1nrk1/p2q1ppp/bp1p4/n1pPp3/P1P1P3/2PBB1N1/4QPPP/R4RK1 w - -
32+
[stage-4] Making HTTP request to http://localhost:8000/move
33+
[stage-4] ✓ Received status code 200
34+
[stage-4] ✓ Received valid move g1h1
35+
[stage-4] Request completed successfully
36+
[stage-4] 2/3 RUN Generate Chess Move for Position: 1k1r4/pp1b1R2/3q2pp/4p3/2B5/4Q3/PPP2B2/2K5 b - -
37+
[stage-4] Making HTTP request to http://localhost:8000/move
38+
[stage-4] ✓ Received status code 200
39+
[stage-4] ✓ Received valid move b8c7
40+
[stage-4] Request completed successfully
41+
[stage-4] 3/3 RUN Generate Chess Move for Position: 3rr3/2pq2pk/p2p1pnp/8/2QBPP2/1P6/P5PP/4RRK1 b - -
42+
[stage-4] Making HTTP request to http://localhost:8000/move
43+
[stage-4] ✓ Received status code 200
44+
[stage-4] ✓ Received valid move h7h8
45+
[stage-4] Request completed successfully
3546
[stage-4] Test passed.
3647
[stage-4] Terminating program
3748
[stage-4] Program terminated successfully
3849

3950
[stage-3] Running tests for Stage #3: a03
4051
[stage-3] $ ./script.sh
4152
[stage-3] Making HTTP request to http://localhost:8000/move
42-
[stage-3] Request completed in 2.285542ms
4353
[stage-3] ✓ Received status code 200
4454
[stage-3] ✓ Received valid move b1a3
4555
[stage-3] Request completed successfully
@@ -50,7 +60,6 @@ Debug = true
5060
[stage-2] Running tests for Stage #2: a02
5161
[stage-2] $ ./script.sh
5262
[stage-2] Making HTTP request to http://localhost:8000/move
53-
[stage-2] Request completed in 3.888708ms
5463
[stage-2] ✓ Received status code 200
5564
[stage-2] Request completed successfully
5665
[stage-2] Test passed.

0 commit comments

Comments
 (0)