1 package com.germinus.merlin.manager;
2
3 import java.util.Iterator;
4 import java.util.Set;
5
6 import org.springframework.mock.web.portlet.MockActionRequest;
7 import org.springframework.mock.web.portlet.MockActionResponse;
8 import org.springframework.mock.web.portlet.MockRenderRequest;
9 import org.springframework.mock.web.portlet.MockRenderResponse;
10
11 import com.germinus.merlin.BaseTestCase;
12 import com.germinus.merlin.mock.MockMerlinKeys;
13 import com.germinus.merlin.model.Course;
14 import com.germinus.merlin.model.assignment.Assignment;
15 import com.germinus.merlin.model.assignment.AssignmentResult;
16
17 public class AssignmentResultManagerTest extends BaseTestCase {
18
19 private AssignmentManager assignmentManager;
20 private CourseManager courseManager;
21 private AssignmentResultManager assignmentResultManager;
22
23 public void testAddAssignmentResult(){
24 Course course = courseManager.getCourse(MockMerlinKeys.COURSE_ID_1);
25 Assignment assignment; int initialAssignmentsResultsCount=0;
26 Set<Assignment> assignmentSet = course.getAssignments();
27 Iterator<Assignment> assignmentIterator=assignmentSet.iterator();
28 while (assignmentIterator.hasNext()) {
29 assignment= (Assignment)assignmentIterator.next();
30 initialAssignmentsResultsCount = initialAssignmentsResultsCount + assignment.getResults().size();
31 }
32 MockActionRequest request = mockMerlinFactory.getActionRequest();
33 MockActionResponse response= mockMerlinFactory.getActionResponse();
34 request.addParameter("assignmentId", MockMerlinKeys.ASSIGNMENT_ID.toString());
35 request.setRemoteUser(MockMerlinKeys.USER_ID_ALUMNO.toString());
36
37 assignmentResultManager.addAssignmentResult(request,response, course);
38
39 int finalAssignmentsResultsCount =0;
40 Set<Assignment> assignmentSet2 = course.getAssignments();
41 Iterator<Assignment> assignmentIterator2=assignmentSet2.iterator();
42 while (assignmentIterator2.hasNext()) {
43 assignment= (Assignment)assignmentIterator2.next();
44 finalAssignmentsResultsCount = finalAssignmentsResultsCount + assignment.getResults().size();
45 }
46
47 String assertMsg = new String ("\n\t<Expected> "+(initialAssignmentsResultsCount+1)+" <Actual> "+finalAssignmentsResultsCount);
48 assertEquals(assertMsg,initialAssignmentsResultsCount+1,finalAssignmentsResultsCount);
49 }
50
51 public void testGradeAssignmentResult(){
52
53 Course course = courseManager.getCourse(MockMerlinKeys.COURSE_ID_1);
54
55 MockActionRequest request = mockMerlinFactory.getActionRequest();
56 MockActionResponse response= mockMerlinFactory.getActionResponse();
57
58 request.setRemoteUser(MockMerlinKeys.USER_ID_ALUMNO.toString());
59 request.addParameter("assignmentId", MockMerlinKeys.ASSIGNMENT_ID.toString());
60 request.addParameter("resultId", MockMerlinKeys.RESULT_ID.toString());
61 request.addParameter("content", MockMerlinKeys.CONTENT);
62 request.addParameter("grade", String.valueOf(MockMerlinKeys.GRADE));
63
64 assignmentResultManager.gradeAssignmentResult(request, response, course);
65
66 Assignment assignment;
67 AssignmentResult assignmentResult=null;
68 Set<Assignment> assignmentSet = course.getAssignments();
69 Iterator<Assignment> assignmentIterator=assignmentSet.iterator();
70 Set<AssignmentResult> assignmentResults;
71 Iterator<AssignmentResult> assignmentResultIterator;
72 boolean notFound=true;
73 while (assignmentIterator.hasNext() && notFound) {
74 assignment= assignmentIterator.next();
75 assignmentResults=assignment.getResults();
76 assignmentResultIterator= assignmentResults.iterator();
77 notFound=true;
78 while (assignmentResultIterator.hasNext()&& notFound){
79 assignmentResult=assignmentResultIterator.next();
80
81 if (assignmentResult.getResultid()==MockMerlinKeys.RESULT_ID){
82 notFound=false;
83 }
84 }
85 }
86
87 String assertMsg = new String ("\n\t<Expected> "+String.valueOf(MockMerlinKeys.GRADE)+" <Actual> "+assignmentResult.getGrade());
88 assertEquals(assertMsg,String.valueOf(MockMerlinKeys.GRADE),assignmentResult.getGrade());
89
90 assertMsg = new String ("\n\t<Expected> "+MockMerlinKeys.CONTENT+" <Actual> "+assignmentResult.getComments());
91 assertEquals(MockMerlinKeys.CONTENT,assignmentResult.getComments());
92 }
93
94 public void testSearchAssignmentResult(){
95
96 MockRenderRequest request = mockMerlinFactory.getRenderRequest();
97 MockRenderResponse response= mockMerlinFactory.getRenderResponse();
98
99 request.setRemoteUser(MockMerlinKeys.USER_ID_ALUMNO.toString());
100 request.addParameter("assignmentId", MockMerlinKeys.ASSIGNMENT_ID_2.toString());
101
102 AssignmentResult assignmentResult = assignmentResultManager.searchAssignmentResult(request,response);
103 String assertMsg = new String ("\n\t<Expected> "+MockMerlinKeys.ASSIGNMENT_ID+" <Actual> "+assignmentResult.getAssignments().getAssignmentid());
104 assertTrue(assertMsg,assignmentResult.getAssignments().getAssignmentid()==3);
105 }
106
107 public AssignmentManager getAssignmentManager() {
108 return assignmentManager;
109 }
110 public void setAssignmentManager(AssignmentManager assignmentsManagement) {
111 this.assignmentManager = assignmentsManagement;
112 }
113 public CourseManager getCourseManagement() {
114 return courseManager;
115 }
116 public void setCourseManagement(CourseManager courseManager) {
117 this.courseManager = courseManager;
118 }
119
120
121
122 public AssignmentResultManager getAssignmentResultManager() {
123 return assignmentResultManager;
124 }
125
126
127
128 public void setAssignmentResultManager(
129 AssignmentResultManager assignmentResultmanager) {
130 this.assignmentResultManager = assignmentResultmanager;
131 }
132
133 }
134