9
9
"github.com/stretchr/testify/assert"
10
10
)
11
11
12
+ // success
12
13
func TestGradeUserCode1 (t * testing.T ) {
13
14
ctx := context .Background ()
14
15
gr := types.GradeRequest {
@@ -17,16 +18,41 @@ func TestGradeUserCode1(t *testing.T) {
17
18
}
18
19
result , err := cmd .GradeUserCode (ctx , gr )
19
20
assert .Nil (t , err )
20
- assert .Equal (t , result . Status , types . GradeResultSuccess )
21
+ assert .Equal (t , types . GradeResultSuccess , result . Status )
21
22
}
22
23
24
+ // wrong answer
23
25
func TestGradeUserCode2 (t * testing.T ) {
26
+ ctx := context .Background ()
27
+ gr := types.GradeRequest {
28
+ TestCaseName : "example-1" ,
29
+ UserCode : "int main() { cout << \" Helloooo\" << endl; }" ,
30
+ }
31
+ result , err := cmd .GradeUserCode (ctx , gr )
32
+ assert .Nil (t , err )
33
+ assert .Equal (t , types .GradeResultWrongAnswer , result .Status )
34
+ }
35
+
36
+ // time limit exceed
37
+ func TestGradeUserCode3 (t * testing.T ) {
24
38
ctx := context .Background ()
25
39
gr := types.GradeRequest {
26
40
TestCaseName : "example-1" ,
27
41
UserCode : "int main() { while (1) { } }" ,
28
42
}
29
43
result , err := cmd .GradeUserCode (ctx , gr )
30
44
assert .Nil (t , err )
31
- assert .Equal (t , result .Status , types .GradeResultTimeLimitExceed )
45
+ assert .Equal (t , types .GradeResultTimeLimitExceed , result .Status )
46
+ }
47
+
48
+ // memory limit exceed
49
+ func TestGradeUserCode4 (t * testing.T ) {
50
+ ctx := context .Background ()
51
+ gr := types.GradeRequest {
52
+ TestCaseName : "example-1" ,
53
+ UserCode : "int main() { vector<int> data; while (1) { data.push_back(1024); } }" ,
54
+ }
55
+ result , err := cmd .GradeUserCode (ctx , gr )
56
+ assert .Nil (t , err )
57
+ assert .Equal (t , types .GradeResultMemoryExceed , result .Status )
32
58
}
0 commit comments