6
6
7
7
import fi .helsinki .cs .tmc .langs .domain .ExerciseDesc ;
8
8
import fi .helsinki .cs .tmc .langs .domain .RunResult ;
9
+ import fi .helsinki .cs .tmc .langs .domain .TestDesc ;
9
10
import fi .helsinki .cs .tmc .langs .utils .TestUtils ;
10
11
11
12
import com .google .common .base .Optional ;
14
15
15
16
import java .nio .file .Path ;
16
17
17
-
18
18
public class QmakePluginTest {
19
19
20
20
private final QmakePlugin qmakePlugin ;
@@ -29,39 +29,104 @@ public void testGetLanguageName() {
29
29
}
30
30
31
31
@ Test
32
- public void testQtBuildFailingWithNoLib () {
33
- assertEquals (RunResult .Status .PASSED , runTests ("passing_nolib" ));
32
+ public void testQtTestsPassingWithNoLib () {
33
+ assertEquals ("Tests passing with no library" ,
34
+ RunResult .Status .PASSED ,
35
+ runTests ("passing_nolib" ));
36
+ }
37
+
38
+ @ Test
39
+ public void testQtTestsPassingWithNoLibSamePoints () {
40
+ assertEquals ("Tests passing with no library and same points" ,
41
+ RunResult .Status .PASSED ,
42
+ runTests ("passing_nolib_same_point" ));
43
+ }
44
+
45
+ @ Test
46
+ public void testQtTestsPassingWithMultipleLib () {
47
+ assertEquals ("Tests passing with multiple libraries" ,
48
+ RunResult .Status .PASSED ,
49
+ runTests ("passing_multiple_lib" ));
34
50
}
35
51
36
52
@ Test
37
53
public void testQtBuildFailingWithSingleLib () {
38
- assertEquals ("Failing compile with single lib" ,
54
+ assertEquals ("Student source not compiling with compiling single lib" ,
39
55
RunResult .Status .COMPILE_FAILED ,
40
56
runTests ("failing_compile_single_lib_compiling" ));
41
57
}
42
58
59
+ @ Test
60
+ public void testQtFailingSingleLib () {
61
+ assertEquals ("Tests failing with single library" ,
62
+ RunResult .Status .TESTS_FAILED ,
63
+ runTests ("failing_single_lib" ));
64
+ }
65
+
43
66
@ Test
44
67
public void testQtLibBuildFailing () {
45
- assertEquals (RunResult .Status .COMPILE_FAILED , runTests ("failing_single_lib_not_compiling" ));
68
+ assertEquals ("Student source compiling with library not compiling " ,
69
+ RunResult .Status .COMPILE_FAILED ,
70
+ runTests ("failing_single_lib_not_compiling" ));
46
71
}
47
72
48
73
@ Test
49
74
public void testQTestsFailingNoLib () {
50
- assertEquals (RunResult .Status .TESTS_FAILED , runTests ("failing_nolib" ));
75
+ assertEquals ("Tests fail with no library" ,
76
+ RunResult .Status .TESTS_FAILED ,
77
+ runTests ("failing_nolib" ));
51
78
}
52
79
53
80
@ Test
54
81
public void testQtTestsPassingSingleLib () {
55
- assertEquals (RunResult .Status .PASSED , runTests ("passing_single_lib" ));
82
+ assertEquals ("Tests pass with single library" ,
83
+ RunResult .Status .PASSED ,
84
+ runTests ("passing_single_lib" ));
56
85
}
57
86
58
87
@ Test
59
88
public void testQtTestsFailingNoLibSamePoints () {
60
- assertEquals ("Failing no library" ,
89
+ assertEquals ("Failing suite test with no library" ,
61
90
RunResult .Status .TESTS_FAILED ,
62
91
runTests ("failing_nolib_same_point" ));
63
92
}
64
93
94
+ @ Test
95
+ public void testQtTestsInvalidProFile () {
96
+ assertEquals ("Invalid .pro file does not compile" ,
97
+ RunResult .Status .COMPILE_FAILED ,
98
+ runTests ("invalid_pro_file" ));
99
+ }
100
+
101
+ @ Test
102
+ public void testScanInvalidMakefileExercise () {
103
+ Optional <ExerciseDesc > optional = scanExercise ("makefile" );
104
+ assertFalse (optional .isPresent ());
105
+ }
106
+
107
+ @ Test
108
+ public void testScanExerciseWithPassingSamePoints () {
109
+ Optional <ExerciseDesc > optional = scanExercise ("passing_single_lib" );
110
+ assertTrue (optional .isPresent ());
111
+
112
+ ExerciseDesc desc = optional .get ();
113
+
114
+ assertEquals ("passing_single_lib" , desc .name );
115
+
116
+ assertEquals (2 , desc .tests .size ());
117
+ TestDesc test1 = desc .tests .get (1 );
118
+ TestDesc test2 = desc .tests .get (0 );
119
+
120
+ assertEquals ("test_function_one_here" , test1 .name );
121
+ assertEquals ("test_function_two_here" , test2 .name );
122
+
123
+ assertEquals (1 , test1 .points .size ());
124
+ assertEquals ("1" , test1 .points .get (0 ));
125
+
126
+ assertEquals (1 , test2 .points .size ());
127
+ assertEquals ("2" , test2 .points .get (0 ));
128
+ }
129
+
65
130
@ Test
66
131
public void testScanExerciseWithFailingSamePoints () {
67
132
Optional <ExerciseDesc > optional = scanExercise ("failing_single_lib_same_point" );
@@ -72,10 +137,21 @@ public void testScanExerciseWithFailingSamePoints() {
72
137
assertEquals ("failing_single_lib_same_point" , desc .name );
73
138
74
139
assertEquals (3 , desc .tests .size ());
75
- assertEquals ("test_function_two_here" , desc .tests .get (0 ).name );
140
+ TestDesc test2 = desc .tests .get (0 );
141
+ TestDesc test21 = desc .tests .get (1 );
142
+ TestDesc test1 = desc .tests .get (2 );
143
+
144
+ assertEquals ("test_function_one_here" , test1 .name );
145
+ assertEquals ("test_function_two_here" , test2 .name );
146
+ assertEquals ("test_function_two_here_2" , test21 .name );
76
147
77
- assertEquals (1 , desc .tests .get (0 ).points .size ());
78
- assertEquals ("2" , desc .tests .get (0 ).points .get (0 ));
148
+ assertEquals (1 , test1 .points .size ());
149
+ assertEquals (1 , test2 .points .size ());
150
+ assertEquals (1 , test21 .points .size ());
151
+
152
+ assertEquals ("1" , test1 .points .get (0 ));
153
+ assertEquals ("2" , test2 .points .get (0 ));
154
+ assertEquals ("1" , test21 .points .get (0 ));
79
155
}
80
156
81
157
@ Test
@@ -88,12 +164,12 @@ public void testIsExerciseTypeCorrect() {
88
164
assertTrue (isExerciseTypeCorrect ("passing_multiple_lib" ));
89
165
assertTrue (isExerciseTypeCorrect ("passing_multiple_lib_same_point" ));
90
166
91
- assertTrue (isExerciseTypeCorrect ("failing_single_lib_not_compiling" ));
92
167
assertTrue (isExerciseTypeCorrect ("failing_nolib" ));
93
168
assertTrue (isExerciseTypeCorrect ("failing_nolib_same_point" ));
94
169
assertTrue (isExerciseTypeCorrect ("failing_single_lib" ));
95
170
assertTrue (isExerciseTypeCorrect ("failing_single_lib_not_compiling" ));
96
171
assertTrue (isExerciseTypeCorrect ("failing_single_lib_same_point" ));
172
+ assertFalse (isExerciseTypeCorrect ("makefile" ));
97
173
assertFalse (isExerciseTypeCorrect ("" ));
98
174
}
99
175
0 commit comments