import com.google.gson.Gson; import com.instructure.canvasapi.model.Enrollment; import com.instructure.canvasapi.utilities.CanvasRestAdapter; import junit.framework.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; @Config(sdk = 17) @RunWith(RobolectricGradleTestRunner.class) public class EnrollmentUnitTest extends Assert { @Test public void courseEnrollmentsTest(){ Gson gson = CanvasRestAdapter.getGSONParser(); Enrollment[] enrollments = gson.fromJson(courseEnrollmentsJSON, Enrollment[].class); assertNotNull(enrollments); Enrollment enrollment = enrollments[0]; assertNotNull(enrollment); assertTrue(enrollment.getCourseId() == 1383418); assertTrue(enrollment.getId() == 23221371); assertTrue(enrollment.getRole().equals("StudentEnrollment")); assertTrue(enrollment.getCurrentScore() == 191.5); assertTrue(enrollment.getUserId() == 5834817); } final String courseEnrollmentsJSON = "[\n" + "{\n" + "\"associated_user_id\": null,\n" + "\"course_id\": 1383418,\n" + "\"course_section_id\": 1586838,\n" + "\"created_at\": \"2014-06-27T16:30:59Z\",\n" + "\"end_at\": null,\n" + "\"id\": 23221371,\n" + "\"limit_privileges_to_course_section\": false,\n" + "\"root_account_id\": 99298,\n" + "\"start_at\": null,\n" + "\"type\": \"StudentEnrollment\",\n" + "\"updated_at\": \"2014-07-14T16:49:15Z\",\n" + "\"user_id\": 5834817,\n" + "\"enrollment_state\": \"active\",\n" + "\"role\": \"StudentEnrollment\",\n" + "\"last_activity_at\": \"2014-07-15T21:17:27Z\",\n" + "\"total_activity_time\": 26692,\n" + "\"grades\": {\n" + "\"html_url\": \"https://mobiledev.instructure.com/courses/1383418/grades/5834817\",\n" + "\"current_score\": 191.5,\n" + "\"final_score\": 115.5,\n" + "\"current_grade\": null,\n" + "\"final_grade\": null\n" + "},\n" + "\"sis_course_id\": null,\n" + "\"course_integration_id\": null,\n" + "\"sis_section_id\": null,\n" + "\"section_integration_id\": null,\n" + "\"html_url\": \"https://mobiledev.instructure.com/courses/1383418/users/5834817\",\n" + "\"user\": {\n" + "\"id\": 5834817,\n" + "\"name\": \"Hackdown Hodor\",\n" + "\"sortable_name\": \"Hodor, Hackdown\",\n" + "\"short_name\": \"Hackdown Hodor\",\n" + "\"login_id\": \"needham.trevor@gmail.com\"\n" + "}\n" + "},\n" + "{\n" + "\"associated_user_id\": null,\n" + "\"course_id\": 1383418,\n" + "\"course_section_id\": 1586838,\n" + "\"created_at\": \"2014-06-16T19:15:41Z\",\n" + "\"end_at\": null,\n" + "\"id\": 23097257,\n" + "\"limit_privileges_to_course_section\": false,\n" + "\"root_account_id\": 99298,\n" + "\"start_at\": null,\n" + "\"type\": \"TeacherEnrollment\",\n" + "\"updated_at\": \"2014-07-14T16:48:46Z\",\n" + "\"user_id\": 5814789,\n" + "\"enrollment_state\": \"active\",\n" + "\"role\": \"TeacherEnrollment\",\n" + "\"last_activity_at\": \"2014-07-17T18:36:01Z\",\n" + "\"total_activity_time\": 20396,\n" + "\"sis_course_id\": null,\n" + "\"course_integration_id\": null,\n" + "\"sis_section_id\": null,\n" + "\"section_integration_id\": null,\n" + "\"html_url\": \"https://mobiledev.instructure.com/courses/1383418/users/5814789\",\n" + "\"user\": {\n" + "\"id\": 5814789,\n" + "\"name\": \"tneedham@instructure.com\",\n" + "\"sortable_name\": \"tneedham@instructure.com\",\n" + "\"short_name\": \"tneedham@instructure.com\",\n" + "\"login_id\": \"tneedham@instructure.com\"\n" + "}\n" + "}\n" + "]"; }