summaryrefslogtreecommitdiff
path: root/tst/com/p4square/grow/model/TextQuestionTest.java
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2013-11-09 15:24:56 -0800
committerJesse Morgan <jesse@jesterpm.net>2013-11-09 15:24:56 -0800
commit0d90da39f77ac3cfa607a68bc59336bf0bdff240 (patch)
tree1a2133dea8035004052e1fddf9b4c022fb8e21e1 /tst/com/p4square/grow/model/TextQuestionTest.java
parentebbfb39ca9b63c170ca7b609dd07d234d89ab23a (diff)
Refactored TrainingResource to use the Provider interface.
Playlists are now generated from a default playlist and regularly merged with the default playlist to get updates. Also adding the Question tests that got left out of a previous commit.
Diffstat (limited to 'tst/com/p4square/grow/model/TextQuestionTest.java')
-rw-r--r--tst/com/p4square/grow/model/TextQuestionTest.java74
1 files changed, 74 insertions, 0 deletions
diff --git a/tst/com/p4square/grow/model/TextQuestionTest.java b/tst/com/p4square/grow/model/TextQuestionTest.java
new file mode 100644
index 0000000..d85ed86
--- /dev/null
+++ b/tst/com/p4square/grow/model/TextQuestionTest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2013 Jesse Morgan
+ */
+
+package com.p4square.grow.model;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Tests for TextQuestion.
+ *
+ * @author Jesse Morgan <jesse@jesterpm.net>
+ */
+public class TextQuestionTest {
+ private static final double DELTA = 1e-4;
+
+ public static void main(String... args) {
+ org.junit.runner.JUnitCore.main(TextQuestionTest.class.getName());
+ }
+
+ private Question mQuestion;
+
+ @Before
+ public void setUp() {
+ mQuestion = new TextQuestion();
+
+ Answer a1 = new Answer();
+ a1.setScore(2);
+
+ Answer a2 = new Answer();
+ a2.setScore(4);
+
+ mQuestion.getAnswers().put("a1", a1);
+ mQuestion.getAnswers().put("a2", a2);
+ }
+
+ /**
+ * The ScoringEngines are tested extensively independently, so simply
+ * verify that we get the expected results for our input.
+ */
+ @Test
+ public void testScoreAnswer() {
+ Score score = new Score();
+ RecordedAnswer answer = new RecordedAnswer();
+
+ answer.setAnswerId("a1");
+ assertTrue(mQuestion.scoreAnswer(score, answer));
+ assertEquals(2, score.sum, DELTA);
+ assertEquals(1, score.count);
+
+ answer.setAnswerId("a2");
+ assertTrue(mQuestion.scoreAnswer(score, answer));
+ assertEquals(6, score.sum, DELTA);
+ assertEquals(2, score.count);
+
+ try {
+ answer.setAnswerId("unknown");
+ assertTrue(mQuestion.scoreAnswer(score, answer));
+ fail("Should have thrown exception.");
+ } catch (IllegalArgumentException e) {
+ }
+ }
+
+ /**
+ * Verify the correct type string is returned.
+ */
+ @Test
+ public void testType() {
+ assertEquals("text", mQuestion.getType().toString());
+ }
+}