1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.lum.statement.service.impl;
17
18 import static org.junit.Assert.assertEquals;
19
20 import org.junit.BeforeClass;
21 import org.junit.Ignore;
22 import org.junit.Test;
23 import org.junit.runner.RunWith;
24 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
25 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
26 import org.kuali.student.r2.common.exceptions.MissingParameterException;
27 import org.kuali.student.r2.common.exceptions.OperationFailedException;
28 import org.kuali.student.r1.core.statement.service.StatementService;
29 import org.springframework.beans.factory.annotation.Autowired;
30 import org.springframework.test.context.ContextConfiguration;
31 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
32
33 @RunWith(SpringJUnit4ClassRunner.class)
34 @ContextConfiguration(locations={"classpath:statement-additional-context.xml"})
35 public class TestStatementServiceImplForCourse {
36
37 @Autowired
38 public StatementService statementService;
39
40 @BeforeClass
41 public static void beforeClass() {
42 }
43
44
45
46
47
48
49
50 @Test
51 public void testGetNaturalLanguageForReqComponent_DefaultEnglish() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
52
53 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-1", "KUALI.RULE", null);
54 assertEquals("Must not have successfully completed MATH152", nl);
55 }
56
57 @Test
58 public void testGetNaturalLanguageForReqComponent_none1() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
59
60 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-1", "KUALI.RULE", "en");
61 assertEquals("Must not have successfully completed MATH152", nl);
62 }
63
64 @Test
65 public void testGetNaturalLanguageForReqComponent_noneN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
66
67 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-2", "KUALI.RULE", "en");
68 assertEquals("Must not have successfully completed any courses from (MATH152, MATH180)", nl);
69 }
70
71 @Test
72 public void testGetNaturalLanguageForReqComponent_all1() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
73
74 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-3", "KUALI.RULE", "en");
75 assertEquals("Must have successfully completed MATH152", nl);
76 }
77
78 @Test
79 public void testGetNaturalLanguageForReqComponent_allN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
80
81 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-4", "KUALI.RULE", "en");
82 assertEquals("Must have successfully completed all courses from (MATH152, MATH180)", nl);
83 }
84
85 @Test
86 public void testGetNaturalLanguageForReqComponent_1of1() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
87
88 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-5", "KUALI.RULE", "en");
89 assertEquals("Must have successfully completed MATH152", nl);
90 }
91
92 @Test
93 public void testGetNaturalLanguageForReqComponent_1ofN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
94
95 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-6", "KUALI.RULE", "en");
96 assertEquals("Must have successfully completed a minimum of 1 course from (MATH152, MATH180)", nl);
97 }
98
99 @Test
100 public void testGetNaturalLanguageForReqComponent_2ofN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
101
102 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-7", "KUALI.RULE", "en");
103 assertEquals("Must have successfully completed a minimum of 2 courses from (MATH152, MATH180)", nl);
104 }
105
106 @Test
107 public void testGetNaturalLanguageForReqComponent_enroll_1ofN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
108
109 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-8", "KUALI.RULE", "en");
110 assertEquals("Must be concurrently enrolled in a minimum of 1 course from (MATH152, MATH180)", nl);
111 }
112
113 @Test
114 public void testGetNaturalLanguageForReqComponent_enroll_2ofN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
115
116 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-9", "KUALI.RULE", "en");
117 assertEquals("Must be concurrently enrolled in a minimum of 2 courses from (MATH152, MATH180)", nl);
118 }
119
120 @Test
121 public void testGetNaturalLanguageForReqComponent_credits_1ofN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
122
123 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-10", "KUALI.RULE", "en");
124 assertEquals("Must have successfully completed a minimum of 1 credit from (MATH152, MATH180)", nl);
125 }
126
127 @Test
128 public void testGetNaturalLanguageForReqComponent_credits_2ofN() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
129
130 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-11", "KUALI.RULE", "en");
131 assertEquals("Must have successfully completed a minimum of 2 credits from (MATH152, MATH180)", nl);
132 }
133
134 @Test
135 public void testGetNaturalLanguageForReqComponent_credits_none() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
136
137 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-12", "KUALI.RULE", "en");
138 assertEquals("Must not have successfully completed any credits from (MATH152, MATH180)", nl);
139 }
140
141 @Test
142 public void testGetNaturalLanguageForReqComponent_credits_max1() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
143
144 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-13", "KUALI.RULE", "en");
145 assertEquals("Must successfully complete no more than 1 credit from (MATH152, MATH180)", nl);
146 }
147
148 @Test
149 public void testGetNaturalLanguageForReqComponent_credits_max2() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
150
151 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-14", "KUALI.RULE", "en");
152 assertEquals("Must successfully complete no more than 2 credits from (MATH152, MATH180)", nl);
153 }
154
155 @Test
156 public void testGetNaturalLanguageForReqComponent_gradecheck() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
157
158 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-15", "KUALI.RULE", "en");
159 assertEquals("Must have earned a minimum GPA of 3.5 in (MATH152, MATH180)", nl);
160 }
161
162 @Test
163 public void testGetNaturalLanguageForReqComponent_grade_min_GradeType_Letter() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
164
165 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-16a", "KUALI.RULE", "en");
166 assertEquals("Must have earned a minimum grade of letter B in (MATH152, MATH180)", nl);
167 }
168
169 @Test
170 public void testGetNaturalLanguageForReqComponent_grade_min_GradeType_Percentage() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
171
172 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-16b", "KUALI.RULE", "en");
173 assertEquals("Must have earned a minimum grade of percentage 70-79% in (MATH152, MATH180)", nl);
174 }
175
176 @Test
177 public void testGetNaturalLanguageForReqComponent_grade_min_GradeType_PassFail() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
178
179 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-16c", "KUALI.RULE", "en");
180 assertEquals("Must have earned a minimum grade of Pass in (MATH152, MATH180)", nl);
181 }
182
183 @Test
184 public void testGetNaturalLanguageForReqComponent_grade_min_GradeType_CompletedNotation() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
185
186 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-16d", "KUALI.RULE", "en");
187 assertEquals("Must have earned a minimum grade of In-Progress in (MATH152, MATH180)", nl);
188 }
189
190 @Test
191 public void testGetNaturalLanguageForReqComponent_grade_min_GradeType_Satisfactory() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
192
193 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-16e", "KUALI.RULE", "en");
194 assertEquals("Must have earned a minimum grade of Satisfactory in (MATH152, MATH180)", nl);
195 }
196
197 @Test
198 public void testGetNaturalLanguageForReqComponent_grade_max_GradeType_Letter() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
199
200 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-17a", "KUALI.RULE", "en");
201 assertEquals("Must not have earned a maximum grade of letter C or higher in (MATH152, MATH180)", nl);
202 }
203
204 @Test
205 public void testGetNaturalLanguageForReqComponent_grade_max_GradeType_CompletedNotation() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
206
207 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-17b", "KUALI.RULE", "en");
208 assertEquals("Must not have earned a maximum grade of Not-Satisfactory or higher in (MATH152, MATH180)", nl);
209 }
210
211 @Test
212 public void testGetNaturalLanguageForReqComponent_perm_org() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
213
214 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-18", "KUALI.RULE", "en");
215 assertEquals("Permission of English Dept required", nl);
216 }
217
218 @Test
219 public void testGetNaturalLanguageForReqComponent_perm_instructor() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
220
221 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-19", "KUALI.RULE", "en");
222 assertEquals("Permission of instructor required", nl);
223 }
224
225 @Test
226 public void testGetNaturalLanguageForReqComponent_allN_CluSetOfClusets() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
227
228 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-20", "KUALI.RULE", "en");
229 assertEquals("Must have successfully completed all courses from (MATH152, MATH221, MATH180, MATH200, MATH215)", nl);
230 }
231
232 @Test
233 public void testGetNaturalLanguageForReqComponent_MinTestScoreOnTest() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
234
235 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-21", "KUALI.RULE", "en");
236 assertEquals("Must have achieved a minimum score of 600 on SAT Critical Reading Exam", nl);
237 }
238
239 @Test
240 public void testGetNaturalLanguageForReqComponent_MaxTestScoreOnTest() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
241
242 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-22", "KUALI.RULE", "en");
243 assertEquals("Must have achieved a score no higher than 900 on SAT Critical Reading Exam", nl);
244 }
245
246 @Test
247 public void testGetNaturalLanguageForReqComponent_MinCoursesMinGradeTest_GradeType_Letter() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
248
249 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-23a", "KUALI.RULE", "en");
250 assertEquals("Must successfully complete a minimum of 1 course with a minimum grade of letter B from (MATH152, MATH180)", nl);
251 }
252
253 @Test
254 public void testGetNaturalLanguageForReqComponent_MinCoursesMinGradeTest_GradeType_CompletedNotation() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
255
256 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-23b", "KUALI.RULE", "en");
257 assertEquals("Must successfully complete a minimum of 1 course with a minimum grade of Completed from (MATH152, MATH180)", nl);
258 }
259
260 @Test
261 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_admitted_org_duration_ProgramAsClu() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
262
263 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-24a", "KUALI.RULE", "en");
264 assertEquals("Students admitted to Sociology may take no more than 2 courses in the English Dept in 1 year", nl);
265 }
266
267 @Test
268 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_admitted_org_duration_ProgramAsCluSet() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
269
270 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-24b", "KUALI.RULE", "en");
271 assertEquals("Students admitted to Sociology may take no more than 2 courses in the English Dept in 1 year", nl);
272 }
273
274 @Test
275 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_notadmitted_org_duration_ProgramAsClu() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
276
277 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-25a", "KUALI.RULE", "en");
278 assertEquals("Students not admitted to Sociology may take no more than 3 courses in the Computer Science Dept in 1 year", nl);
279 }
280
281 @Test
282 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_notadmitted_org_duration_ProgramAsCluSet() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
283
284 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-25b", "KUALI.RULE", "en");
285 assertEquals("Students not admitted to Sociology may take no more than 3 courses in the Computer Science Dept in 1 year", nl);
286 }
287
288 @Test
289 public void testGetNaturalLanguageForReqComponent_kuali_reqComponent_type_course_org_program_admitted() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
290
291 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-26", "KUALI.RULE", "en");
292 assertEquals("Must be admitted to any program offered at the course campus location", nl);
293 }
294
295 @Test
296 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_notadmitted_ProgramAsClu() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
297
298 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-27a", "KUALI.RULE", "en");
299 assertEquals("Must not have been admitted to the Sociology program", nl);
300 }
301
302 @Test
303 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_notadmitted_ProgramAsCluSet() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
304
305 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-27b", "KUALI.RULE", "en");
306 assertEquals("Must not have been admitted to the Sociology program", nl);
307 }
308
309 @Test
310 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_credits_repeat_max() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
311
312 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-28", "KUALI.RULE", "en");
313 assertEquals("May be repeated for a maximum of 6 credits", nl);
314 }
315
316 @Test
317 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_org_credits_completed_min() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
318
319 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-29", "KUALI.RULE", "en");
320 assertEquals("Must have successfully completed a minimum of 30 credits from courses in the Computer Science Dept", nl);
321 }
322
323 @Test
324 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_admitted_ProgramAsClu() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
325
326 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-30a", "KUALI.RULE", "en");
327 assertEquals("Must have been admitted to the Sociology program", nl);
328 }
329
330 @Test
331 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_program_admitted_ProgramAsCluSet() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
332
333 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-30b", "KUALI.RULE", "en");
334 assertEquals("Must have been admitted to the Sociology program", nl);
335 }
336
337 @Test
338 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_completed() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
339
340 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-31", "KUALI.RULE", "en");
341 assertEquals("Must have successfully completed MATH152", nl);
342 }
343
344 @Test
345 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_enrolled() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
346
347 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-32", "KUALI.RULE", "en");
348 assertEquals("Must be concurrently enrolled in MATH152", nl);
349 }
350
351 @Test
352 public void testGetNaturalLanguageForReqComponentType_kuali_reqComponent_type_course_notcompleted() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException {
353
354 String nl = statementService.getNaturalLanguageForReqComponent("REQCOMP-33", "KUALI.RULE", "en");
355 assertEquals("Must not have successfully completed MATH152", nl);
356 }
357 }