import com.google.gson.Gson; import com.instructure.canvasapi.model.QuizSubmission; 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 QuizSubmissionUnitTest extends Assert { @Test public void testQuizSubmissions() { Gson gson = CanvasRestAdapter.getGSONParser(); QuizSubmission[] quizSubmissions = gson.fromJson(quizSubmissionJSON, QuizSubmission[].class); assertNotNull(quizSubmissions); for(QuizSubmission quizSubmission : quizSubmissions) { assertNotNull(quizSubmission); assertTrue(quizSubmission.getAttempt() > 0); assertNotNull(quizSubmission.getEndAt()); assertNotNull(quizSubmission.getFinishedAt()); assertTrue(quizSubmission.getId() > 0); assertTrue(quizSubmission.getKeptScore() > 0); assertTrue(quizSubmission.getQuizId() > 0); assertTrue(quizSubmission.getUserId() > 0); assertNotNull(quizSubmission.getStartedAt()); assertNotNull(quizSubmission.getWorkflowState()); assertTrue(quizSubmission.getTimeSpent() > 0); assertTrue(quizSubmission.getQuizPointsPossible() > 0); } } String quizSubmissionJSON = "[\n" + "{\n" + "\"attempt\": 4,\n" + "\"end_at\": \"2015-03-30T21:22:37Z\",\n" + "\"extra_attempts\": null,\n" + "\"extra_time\": null,\n" + "\"finished_at\": \"2015-03-30T21:22:37Z\",\n" + "\"fudge_points\": null,\n" + "\"has_seen_results\": null,\n" + "\"id\": 2491257,\n" + "\"kept_score\": 3,\n" + "\"manually_unlocked\": null,\n" + "\"quiz_id\": 757314,\n" + "\"quiz_points_possible\": 5,\n" + "\"quiz_version\": 29,\n" + "\"score\": 0,\n" + "\"score_before_regrade\": null,\n" + "\"started_at\": \"2015-03-30T21:09:37Z\",\n" + "\"submission_id\": 11193366,\n" + "\"user_id\": 3360251,\n" + "\"validation_token\": null,\n" + "\"workflow_state\": \"pending_review\",\n" + "\"time_spent\": 780,\n" + "\"attempts_left\": -1,\n" + "\"questions_regraded_since_last_attempt\": 0,\n" + "\"html_url\": \"https://mobiledev.instructure.com/courses/833052/quizzes/757314/submissions/2491257\"\n" + "}\n" + "]"; }