summaryrefslogtreecommitdiff
path: root/tst/com/p4square/grow/model
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-04-09 14:22:20 -0700
committerJesse Morgan <jesse@jesterpm.net>2016-04-09 15:48:01 -0700
commit3102d8bce3426d9cf41aeaf201c360d342677770 (patch)
tree38c4f1e8828f9af9c4b77a173bee0d312b321698 /tst/com/p4square/grow/model
parentbbf907e51dfcf157bdee24dead1d531122aa25db (diff)
Switching from Ivy+Ant to Maven.
Diffstat (limited to 'tst/com/p4square/grow/model')
-rw-r--r--tst/com/p4square/grow/model/AnswerTest.java137
-rw-r--r--tst/com/p4square/grow/model/CircleQuestionTest.java92
-rw-r--r--tst/com/p4square/grow/model/ImageQuestionTest.java74
-rw-r--r--tst/com/p4square/grow/model/PlaylistTest.java154
-rw-r--r--tst/com/p4square/grow/model/PointTest.java129
-rw-r--r--tst/com/p4square/grow/model/QuadQuestionTest.java92
-rw-r--r--tst/com/p4square/grow/model/QuadScoringEngineTest.java85
-rw-r--r--tst/com/p4square/grow/model/QuestionTest.java80
-rw-r--r--tst/com/p4square/grow/model/ScoreTest.java111
-rw-r--r--tst/com/p4square/grow/model/SimpleScoringEngineTest.java86
-rw-r--r--tst/com/p4square/grow/model/SliderQuestionTest.java64
-rw-r--r--tst/com/p4square/grow/model/SliderScoringEngineTest.java161
-rw-r--r--tst/com/p4square/grow/model/TextQuestionTest.java74
-rw-r--r--tst/com/p4square/grow/model/TrainingRecordTest.java85
-rw-r--r--tst/com/p4square/grow/model/trainingrecord.json18
15 files changed, 0 insertions, 1442 deletions
diff --git a/tst/com/p4square/grow/model/AnswerTest.java b/tst/com/p4square/grow/model/AnswerTest.java
deleted file mode 100644
index 1747773..0000000
--- a/tst/com/p4square/grow/model/AnswerTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for the Answer class.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class AnswerTest {
- private static final double DELTA = 1e-15;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(AnswerTest.class.getName());
- }
-
- /**
- * Verify that the correct default values are returned.
- */
- @Test
- public void testDefaults() {
- Answer a = new Answer();
-
- // Type should default to AVERAGE
- assertEquals(Answer.ScoreType.AVERAGE, a.getType());
-
- // NextQuestion should default to null
- assertNull(a.getNextQuestion());
- }
-
- /**
- * Verify that getters and setters function correctly.
- */
- @Test
- public void testGetAndSet() {
- Answer a = new Answer();
-
- a.setText("Answer Text");
- assertEquals("Answer Text", a.getText());
-
- a.setType(Answer.ScoreType.TRUMP);
- assertEquals(Answer.ScoreType.TRUMP, a.getType());
-
- a.setScore(10);
- assertEquals(10, a.getScore(), DELTA);
-
- a.setNextQuestion("nextQuestion");
- assertEquals("nextQuestion", a.getNextQuestion());
- }
-
- /**
- * Verify that when the ScoreType is NONE, the score is 0.
- */
- @Test
- public void testScoreTypeNone() {
- Answer a = new Answer();
-
- a.setScore(10);
- assertEquals(10, a.getScore(), DELTA);
-
- a.setType(Answer.ScoreType.NONE);
- assertEquals(0, a.getScore(), DELTA);
- }
-
- /**
- * Test score() with type TRUMP.
- */
- @Test
- public void testScoreTrump() {
- Score score = new Score();
- score.sum = 10;
- score.count = 2;
-
- Answer a = new Answer();
- a.setType(Answer.ScoreType.TRUMP);
- a.setScore(5);
-
- assertFalse(a.score(score));
-
- assertEquals(5, score.getSum(), DELTA);
- assertEquals(1, score.getCount());
- }
-
- /**
- * Test score() with type NONE.
- */
- @Test
- public void testScoreNone() {
- Score score = new Score();
- score.sum = 10;
- score.count = 2;
-
- Answer a = new Answer();
- a.setScore(5);
- a.setType(Answer.ScoreType.NONE);
-
- assertTrue(a.score(score));
-
- assertEquals(10, score.getSum(), DELTA);
- assertEquals(2, score.getCount());
- }
-
- /**
- * Test score() with type AVERAGE.
- */
- @Test
- public void testScoreAverage() {
- Score score = new Score();
- score.sum = 10;
- score.count = 2;
-
- Answer a = new Answer();
- a.setScore(5);
- a.setType(Answer.ScoreType.AVERAGE);
-
- assertTrue(a.score(score));
-
- assertEquals(15, score.getSum(), DELTA);
- assertEquals(3, score.getCount());
- }
-
- /**
- * Verify that ScoreType.toString() returns the proper strings.
- */
- @Test
- public void testScoreTypeToString() {
- assertEquals("none", Answer.ScoreType.NONE.toString());
- assertEquals("average", Answer.ScoreType.AVERAGE.toString());
- assertEquals("trump", Answer.ScoreType.TRUMP.toString());
- }
-}
diff --git a/tst/com/p4square/grow/model/CircleQuestionTest.java b/tst/com/p4square/grow/model/CircleQuestionTest.java
deleted file mode 100644
index 222cda5..0000000
--- a/tst/com/p4square/grow/model/CircleQuestionTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for CircleQuestion.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class CircleQuestionTest {
- private static final double DELTA = 1e-4;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(CircleQuestionTest.class.getName());
- }
-
- private CircleQuestion mQuestion;
-
- @Before
- public void setUp() {
- mQuestion = new CircleQuestion();
-
- Answer a1 = new Answer();
- a1.setScore(2);
-
- Answer a2 = new Answer();
- a2.setScore(4);
-
- mQuestion.getAnswers().put("1.00,0.00", a1);
- mQuestion.getAnswers().put("-1.00,0.00", a2);
- }
-
- /**
- * Verify the getters and setters function correctly.
- */
- @Test
- public void testGetAndSet() {
- mQuestion.setTopLeft("TopLeft String");
- assertEquals("TopLeft String", mQuestion.getTopLeft());
-
- mQuestion.setTopRight("TopRight String");
- assertEquals("TopRight String", mQuestion.getTopRight());
-
- mQuestion.setBottomRight("BottomRight String");
- assertEquals("BottomRight String", mQuestion.getBottomRight());
-
- mQuestion.setBottomLeft("BottomLeft String");
- assertEquals("BottomLeft String", mQuestion.getBottomLeft());
- }
-
- /**
- * 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("0.5,0.5");
- assertTrue(mQuestion.scoreAnswer(score, answer));
- assertEquals(2, score.sum, DELTA);
- assertEquals(1, score.count);
-
- answer.setAnswerId("-0.5,-0.5");
- assertTrue(mQuestion.scoreAnswer(score, answer));
- assertEquals(6, score.sum, DELTA);
- assertEquals(2, score.count);
-
- try {
- answer.setAnswerId("notAPoint");
- 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("circle", mQuestion.getType().toString());
- }
-}
diff --git a/tst/com/p4square/grow/model/ImageQuestionTest.java b/tst/com/p4square/grow/model/ImageQuestionTest.java
deleted file mode 100644
index 28ccdb2..0000000
--- a/tst/com/p4square/grow/model/ImageQuestionTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Test for ImageQuestion.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class ImageQuestionTest {
- private static final double DELTA = 1e-4;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(ImageQuestionTest.class.getName());
- }
-
- private Question mQuestion;
-
- @Before
- public void setUp() {
- mQuestion = new ImageQuestion();
-
- 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("image", mQuestion.getType().toString());
- }
-}
diff --git a/tst/com/p4square/grow/model/PlaylistTest.java b/tst/com/p4square/grow/model/PlaylistTest.java
deleted file mode 100644
index 9c893f6..0000000
--- a/tst/com/p4square/grow/model/PlaylistTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright 2014 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import java.util.Date;
-import java.util.Map;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for Playlist.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class PlaylistTest {
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(PlaylistTest.class.getName());
- }
-
- /**
- * Tests for Playlist and Chapter methods not covered in the deserialization test.
- */
- @Test
- public void testPlaylistAndChapter() {
- // Create a playlist for the test
- Playlist playlist = new Playlist();
- playlist.add("chapter1", "video1");
- playlist.add("chapter1", "video2");
-
- // Chapter should not be complete
- assertFalse(playlist.isChapterComplete("chapter1"));
-
- // We should find the chapter in the map
- Map<String, Chapter> chapterMap = playlist.getChaptersMap();
- Chapter chapter1 = chapterMap.get("chapter1");
- assertTrue(null != chapter1);
-
- // We should find the videos in the map.
- Map<String, VideoRecord> videoMap = chapter1.getVideos();
- assertTrue(null != videoMap.get("video1"));
- assertTrue(null != videoMap.get("video2"));
- assertTrue(null == videoMap.get("video3"));
-
- // Mark the videos as complete
- VideoRecord video1 = videoMap.get("video1");
- VideoRecord video2 = videoMap.get("video2");
- video1.complete();
- video2.complete();
-
- // Chapter should be complete now.
- assertTrue(playlist.isChapterComplete("chapter1"));
- assertFalse(playlist.isChapterComplete("bogusChapter"));
- }
-
- /**
- * Tests for Playlist default values.
- */
- @Test
- public void testPlaylistDefaults() {
- Date before = new Date();
- Playlist p = new Playlist();
-
- // Verify that a playlist without an explicit lastUpdated date is older than now.
- assertTrue(p.getLastUpdated().before(before));
- }
-
- /**
- * Tests for the Playlist merge method.
- */
- @Test
- public void testMergePlaylist() {
- Playlist oldList = new Playlist();
- oldList.add("chapter1", "video1").setRequired(true);
- oldList.add("chapter2", "video2").setRequired(false);
- oldList.add("chapter2", "video3").complete();
- oldList.setLastUpdated(new Date(100));
-
- Playlist newList = new Playlist();
- newList.add("chapter1", "video4").setRequired(true);
- newList.add("chapter2", "video5").setRequired(false);
- newList.add("chapter3", "video6").setRequired(false);
- newList.setLastUpdated(new Date(500));
-
- // Verify that you can't merge the old into the new
- newList.merge(oldList);
- assertTrue(null == newList.find("video2"));
-
- // Merge the new list into the old and verify results
- oldList.merge(newList);
-
- // All Videos Present
- assertTrue(oldList.find("video1").getRequired());
- assertFalse(oldList.find("video2").getRequired());
- assertTrue(oldList.find("video3").getComplete());
- assertTrue(oldList.find("video4").getRequired());
- assertFalse(oldList.find("video5").getRequired());
- assertFalse(oldList.find("video6").getRequired());
-
- // New Chapter added
- Map<String, Chapter> chapters = oldList.getChaptersMap();
- assertEquals(3, chapters.size());
- assertTrue(null != chapters.get("chapter3"));
-
- // Date updated
- assertEquals(newList.getLastUpdated(), oldList.getLastUpdated());
-
- // Video objects are actually independent
- VideoRecord oldVideo4 = oldList.find("video4");
- VideoRecord newVideo4 = newList.find("video4");
- assertTrue(oldVideo4 != newVideo4);
- }
-
- /**
- * Tests for merges that move videos.
- */
- @Test
- public void testMergeMoveVideoRecord() {
- Playlist oldList = new Playlist();
- oldList.add("chapter1", "video1").setRequired(true);
- VideoRecord toMove = oldList.add("chapter1", "video2");
- toMove.setRequired(true);
- toMove.complete();
- oldList.add("chapter2", "video3").complete();
- oldList.setLastUpdated(new Date(100));
-
- Playlist newList = new Playlist();
- newList.add("chapter1", "video1").setRequired(true);
- newList.add("chapter2", "video2").setRequired(true);
- newList.add("chapter3", "video3").complete();
- newList.setLastUpdated(new Date(500));
-
- // Merge the new list into the old and verify results
- oldList.merge(newList);
-
- // All Videos Present
- assertTrue(oldList.find("video1").getRequired());
- assertTrue(oldList.find("video2").getRequired());
- assertTrue(oldList.find("video3").getComplete());
-
- // toMove is in the correct chapter.
- assertNull(oldList.getChaptersMap().get("chapter1").getVideoRecord("video2"));
- VideoRecord afterMove = oldList.getChaptersMap().get("chapter2").getVideoRecord("video2");
- assertSame(toMove, afterMove);
-
- // video3 got moved to the new chapter3
- assertNull(oldList.getChaptersMap().get("chapter2").getVideoRecord("video3"));
- assertTrue(oldList.getChaptersMap().get("chapter3").getVideoRecord("video3").getComplete());
- }
-}
diff --git a/tst/com/p4square/grow/model/PointTest.java b/tst/com/p4square/grow/model/PointTest.java
deleted file mode 100644
index a4e7cc0..0000000
--- a/tst/com/p4square/grow/model/PointTest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for the Point class.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class PointTest {
- private static final double DELTA = 1e-15;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(PointTest.class.getName());
- }
-
- /**
- * Verify that the constructor works properly.
- */
- @Test
- public void testHappyCase() {
- Point p = new Point(1, 2);
- assertEquals(1, p.getX(), DELTA);
- assertEquals(2, p.getY(), DELTA);
- }
-
- /**
- * Verify distance is computed correctly.
- */
- @Test
- public void testDistance() {
- Point p1, p2;
-
- // Simple line
- p1 = new Point(2, 1);
- p2 = new Point(-2, 1);
- assertEquals(4, p1.distance(p2), DELTA);
- assertEquals(4, p2.distance(p1), DELTA);
-
- // Across origin
- p1 = new Point(5, 1);
- p2 = new Point(-3, -2);
- assertEquals(Math.sqrt(73), p1.distance(p2), DELTA);
- assertEquals(Math.sqrt(73), p2.distance(p1), DELTA);
- }
-
- /**
- * Verify toString returns the expected string.
- */
- @Test
- public void testToString() {
- Point p = new Point(-1.12345, 2.3);
- assertEquals("-1.12,2.30", p.toString());
- }
-
- /**
- * Verify that valueOf correctly parses a variety of strings.
- */
- @Test
- public void testValueOfHappyCase() {
- Point p;
-
- p = Point.valueOf("1,2");
- assertEquals(1, p.getX(), DELTA);
- assertEquals(2, p.getY(), DELTA);
-
- p = Point.valueOf("1.5,2.0");
- assertEquals(1.5, p.getX(), DELTA);
- assertEquals(2.0, p.getY(), DELTA);
-
- p = Point.valueOf("-1.5,2.0");
- assertEquals(-1.5, p.getX(), DELTA);
- assertEquals(2.0, p.getY(), DELTA);
-
- p = Point.valueOf("1.5,-2.0");
- assertEquals(1.5, p.getX(), DELTA);
- assertEquals(-2.0, p.getY(), DELTA);
-
- p = Point.valueOf("-1.5,-2.0");
- assertEquals(-1.5, p.getX(), DELTA);
- assertEquals(-2.0, p.getY(), DELTA);
- }
-
- /**
- * Verify that valueOf fails on null string.
- */
- @Test(expected = NullPointerException.class)
- public void testValueOfNull() {
- Point.valueOf(null);
- }
-
- /**
- * Verify that valueOf fails on empty string.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testValueOfEmptyString() {
- Point.valueOf("");
- }
-
- /**
- * Verify that valueOf fails on missing comma.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testValueOfMissingComma() {
- Point.valueOf("123");
- }
-
- /**
- * Verify that valueOf fails on missing x.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testValueOfMissingX() {
- Point.valueOf(",12");
- }
-
- /**
- * Verify that valueOf fails on missing y.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testValueOfMissingY() {
- Point.valueOf("12,");
- }
-}
diff --git a/tst/com/p4square/grow/model/QuadQuestionTest.java b/tst/com/p4square/grow/model/QuadQuestionTest.java
deleted file mode 100644
index 389148a..0000000
--- a/tst/com/p4square/grow/model/QuadQuestionTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Test for QuadQuestion.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class QuadQuestionTest {
- private static final double DELTA = 1e-4;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(QuadQuestionTest.class.getName());
- }
-
- private QuadQuestion mQuestion;
-
- @Before
- public void setUp() {
- mQuestion = new QuadQuestion();
-
- Answer a1 = new Answer();
- a1.setScore(2);
-
- Answer a2 = new Answer();
- a2.setScore(4);
-
- mQuestion.getAnswers().put("1.00,0.00", a1);
- mQuestion.getAnswers().put("-1.00,0.00", a2);
- }
-
- /**
- * Verify the getters and setters function correctly.
- */
- @Test
- public void testGetAndSet() {
- mQuestion.setTop("Top String");
- assertEquals("Top String", mQuestion.getTop());
-
- mQuestion.setBottom("Bottom String");
- assertEquals("Bottom String", mQuestion.getBottom());
-
- mQuestion.setLeft("Left String");
- assertEquals("Left String", mQuestion.getLeft());
-
- mQuestion.setRight("Right String");
- assertEquals("Right String", mQuestion.getRight());
- }
-
- /**
- * 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("0.5,0.5");
- assertTrue(mQuestion.scoreAnswer(score, answer));
- assertEquals(2, score.sum, DELTA);
- assertEquals(1, score.count);
-
- answer.setAnswerId("-0.5,-0.5");
- assertTrue(mQuestion.scoreAnswer(score, answer));
- assertEquals(6, score.sum, DELTA);
- assertEquals(2, score.count);
-
- try {
- answer.setAnswerId("notAPoint");
- 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("quad", mQuestion.getType().toString());
- }
-}
diff --git a/tst/com/p4square/grow/model/QuadScoringEngineTest.java b/tst/com/p4square/grow/model/QuadScoringEngineTest.java
deleted file mode 100644
index 246a59f..0000000
--- a/tst/com/p4square/grow/model/QuadScoringEngineTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import java.util.Map;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Test the QuadScoringEngine.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class QuadScoringEngineTest {
- private static final double DELTA = 1e-4;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(QuadScoringEngineTest.class.getName());
- }
-
- private Question mQuestion;
- private ScoringEngine mEngine;
-
- @Before
- public void setup() {
- // Setup the Question
- mQuestion = new QuadQuestion();
- Map<String, Answer> answers = mQuestion.getAnswers();
-
- // Create four answers at (-1,-1), (1, -1), (-1, 1), (1, 1)
- for (int i = 1; i <= 4; i++) {
- int x = i % 2 == 0 ? 1 : -1;
- int y = i > 2 ? 1 : -1;
-
- Answer a = new Answer();
- a.setScore(i);
- answers.put(x + ".00," + y + ".00", a);
- }
-
- mEngine = new QuadScoringEngine();
- }
-
- /**
- * Test a point inside each quadrant.
- */
- @Test
- public void testEachQuadrant() {
- Score score;
- RecordedAnswer answer = new RecordedAnswer();
-
- // 0.5,0.5 == 4
- score = new Score();
- answer.setAnswerId("0.5,0.5");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(4, score.getSum(), DELTA);
- assertEquals(1, score.getCount());
-
- // 0.5,-0.5 == 2
- score = new Score();
- answer.setAnswerId("0.5,-0.5");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(2, score.getSum(), DELTA);
- assertEquals(1, score.getCount());
-
- // -0.5,0.5 == 3
- score = new Score();
- answer.setAnswerId("-0.5,0.5");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(3, score.getSum(), DELTA);
- assertEquals(1, score.getCount());
-
- // -0.5,-0.5 == 0.5
- score = new Score();
- answer.setAnswerId("-0.5,-0.5");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(1, score.getSum(), DELTA);
- assertEquals(1, score.getCount());
- }
-
-}
diff --git a/tst/com/p4square/grow/model/QuestionTest.java b/tst/com/p4square/grow/model/QuestionTest.java
deleted file mode 100644
index d09d2d8..0000000
--- a/tst/com/p4square/grow/model/QuestionTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for the Question class.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class QuestionTest {
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(QuestionTest.class.getName());
- }
-
- /**
- * Verify that all the getters and setters function.
- */
- @Test
- public void testGetAndSet() {
- TextQuestion q = new TextQuestion();
-
- q.setId("123");
- assertEquals("123", q.getId());
-
- q.setQuestion("Hello World");
- assertEquals("Hello World", q.getQuestion());
-
- q.setPreviousQuestion("122");
- assertEquals("122", q.getPreviousQuestion());
-
- q.setNextQuestion("124");
- assertEquals("124", q.getNextQuestion());
- }
-
- /**
- * Verify the correct next question is returned.
- */
- @Test
- public void testGetNextQuestion() {
- // Setup the Question
- TextQuestion q = new TextQuestion();
- q.setNextQuestion("defaultNext");
-
- Answer answerWithNext = new Answer();
- answerWithNext.setNextQuestion("answerNext");
-
- q.getAnswers().put("withNext", answerWithNext);
- q.getAnswers().put("withoutNext", new Answer());
-
- // Answer without a nextQuestion should return default.
- assertEquals("defaultNext", q.getNextQuestion("withoutNext"));
-
- // Answer with a nextQuestion should return it's next question.
- assertEquals("answerNext", q.getNextQuestion("withNext"));
-
- // Unknown answer should also return the default
- assertEquals("defaultNext", q.getNextQuestion("unknownAnswer"));
- }
-
- /**
- * Validate the toString() results for the enum.
- *
- * This may seem like an odd test, but it is very important for these to be
- * lowercase to match the values in the JSON files.
- */
- @Test
- public void testToString() {
- assertEquals("text", Question.QuestionType.TEXT.toString());
- assertEquals("image", Question.QuestionType.IMAGE.toString());
- assertEquals("slider", Question.QuestionType.SLIDER.toString());
- assertEquals("quad", Question.QuestionType.QUAD.toString());
- assertEquals("circle", Question.QuestionType.CIRCLE.toString());
- }
-}
diff --git a/tst/com/p4square/grow/model/ScoreTest.java b/tst/com/p4square/grow/model/ScoreTest.java
deleted file mode 100644
index 5c7be46..0000000
--- a/tst/com/p4square/grow/model/ScoreTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Test for the Score class.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class ScoreTest {
- private static final double DELTA = 1e-4;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(ScoreTest.class.getName());
- }
-
- private Score mScore;
-
- @Before
- public void setUp() {
- mScore = new Score();
- }
-
- /**
- * Verify getters and setters function.
- */
- @Test
- public void testGetAndSet() {
- // getSum()
- mScore.sum = 1.1;
- assertEquals(1.1, mScore.getSum(), DELTA);
-
- // getCount()
- mScore.count = 5;
- assertEquals(5, mScore.getCount());
- }
-
- /**
- * Verify that the average is computed by getScore().
- */
- @Test
- public void testGetScore() {
- mScore.sum = 7;
- mScore.count = 2;
- assertEquals(3.5, mScore.getScore(), DELTA);
- }
-
- /**
- * Verify that numericScore() returns the correct mappings.
- */
- @Test
- public void testNumericScore() {
- assertEquals(3.5, Score.numericScore("teacher"), DELTA);
- assertEquals(2.5, Score.numericScore("disciple"), DELTA);
- assertEquals(1.5, Score.numericScore("believer"), DELTA);
- assertEquals(0, Score.numericScore("seeker"), DELTA);
- }
-
- /**
- * Verify that toString() returns the correct mappings.
- */
- @Test
- public void testToString() {
- mScore.count = 1;
-
- // Seeker is defined as score < 1.5
- mScore.sum = 0;
- assertEquals("seeker", mScore.toString());
- mScore.sum = 0.5;
- assertEquals("seeker", mScore.toString());
- mScore.sum = 1;
- assertEquals("seeker", mScore.toString());
- mScore.sum = 1.49;
- assertEquals("seeker", mScore.toString());
-
- // Believer is defined as 1.5 <= score < 2.5
- mScore.sum = 1.5;
- assertEquals("believer", mScore.toString());
- mScore.sum = 2;
- assertEquals("believer", mScore.toString());
- mScore.sum = 2.49;
- assertEquals("believer", mScore.toString());
-
- // Disciple is defined as 2.5 <= score < 3.5
- mScore.sum = 2.5;
- assertEquals("disciple", mScore.toString());
- mScore.sum = 3;
- assertEquals("disciple", mScore.toString());
- mScore.sum = 3.49;
- assertEquals("disciple", mScore.toString());
-
- // Teacher is defined as 3.5 <= score
- mScore.sum = 3.5;
- assertEquals("teacher", mScore.toString());
- mScore.sum = 4;
- assertEquals("teacher", mScore.toString());
- mScore.sum = 4.5;
- assertEquals("teacher", mScore.toString());
- mScore.sum = 4.99;
- assertEquals("teacher", mScore.toString());
- mScore.sum = 5;
- assertEquals("teacher", mScore.toString());
- }
-}
diff --git a/tst/com/p4square/grow/model/SimpleScoringEngineTest.java b/tst/com/p4square/grow/model/SimpleScoringEngineTest.java
deleted file mode 100644
index 1a1bc95..0000000
--- a/tst/com/p4square/grow/model/SimpleScoringEngineTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Test the SimpleScoringEngine.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class SimpleScoringEngineTest {
- private static final double DELTA = 1e-15;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(SimpleScoringEngineTest.class.getName());
- }
-
- private Question mQuestion;
- private ScoringEngine mEngine;
-
- @Before
- public void setup() {
- // Setup the Question
- mQuestion = new TextQuestion();
-
- for (int i = 0; i <= 4; i++) {
- Answer a = new Answer();
- a.setScore(i);
- mQuestion.getAnswers().put("a" + i, a);
- }
-
- mEngine = new SimpleScoringEngine();
- }
-
- /**
- * Test that each individual answer is scored correctly.
- */
- @Test
- public void testAllAnswers() {
- for (int i = 1; i <= 4; i++) {
- Score score = new Score();
- RecordedAnswer answer = new RecordedAnswer();
- answer.setAnswerId("a" + i);
-
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
-
- assertEquals(1, score.count);
- assertEquals(i, score.sum, DELTA);
- }
- }
-
- /**
- * Test that each answer score forms an increasing sum.
- */
- @Test
- public void testAllAnswersIncremental() {
- Score score = new Score();
-
- for (int i = 1; i <= 4; i++) {
- RecordedAnswer answer = new RecordedAnswer();
- answer.setAnswerId("a" + i);
-
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- }
-
- assertEquals(4, score.count);
- assertEquals(10, score.sum, DELTA);
- }
-
- /**
- * Verify exception is thrown for undefined answer.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testUnknownAnswer() {
- Score score = new Score();
- RecordedAnswer answer = new RecordedAnswer();
- answer.setAnswerId("unknown");
- mEngine.scoreAnswer(score, mQuestion, answer);
- }
-}
diff --git a/tst/com/p4square/grow/model/SliderQuestionTest.java b/tst/com/p4square/grow/model/SliderQuestionTest.java
deleted file mode 100644
index b5c4e83..0000000
--- a/tst/com/p4square/grow/model/SliderQuestionTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for SliderQuestion.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class SliderQuestionTest {
- private static final double DELTA = 1e-4;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(SliderQuestionTest.class.getName());
- }
-
- private Question mQuestion;
-
- @Before
- public void setUp() {
- mQuestion = new SliderQuestion();
-
- // Add some "answers" for the scoring engine.
- mQuestion.getAnswers().put("1", new Answer());
- mQuestion.getAnswers().put("2", new Answer());
- mQuestion.getAnswers().put("3", new Answer());
- mQuestion.getAnswers().put("4", new Answer());
- }
-
- /**
- * 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("0.66666");
- assertTrue(mQuestion.scoreAnswer(score, answer));
- assertEquals(3, score.sum, DELTA);
- assertEquals(1, score.count);
-
- answer.setAnswerId("1");
- assertTrue(mQuestion.scoreAnswer(score, answer));
- assertEquals(7, score.sum, DELTA);
- assertEquals(2, score.count);
- }
-
- /**
- * Verify the correct type string is returned.
- */
- @Test
- public void testType() {
- assertEquals("slider", mQuestion.getType().toString());
- }
-}
diff --git a/tst/com/p4square/grow/model/SliderScoringEngineTest.java b/tst/com/p4square/grow/model/SliderScoringEngineTest.java
deleted file mode 100644
index 1ea0d4c..0000000
--- a/tst/com/p4square/grow/model/SliderScoringEngineTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import java.util.Map;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Test the SliderScoringEngine.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class SliderScoringEngineTest {
- private static final double DELTA = 1e-4;
-
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(SliderScoringEngineTest.class.getName());
- }
-
- private Question mQuestion;
- private ScoringEngine mEngine;
-
- @Before
- public void setup() {
- // Setup the Question
- mQuestion = new SliderQuestion();
- mEngine = new SliderScoringEngine();
- }
-
- /**
- * Test the scoreAnswer() method with four answers.
- */
- @Test
- public void testScoreAnswerFourAnswers() {
- // Create the four answers.
- createAnswers(4);
-
- Score score = new Score();
- RecordedAnswer answer = new RecordedAnswer();
-
- // Test 0
- answer.setAnswerId("0");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(1, score.count);
- assertEquals(1, score.sum, DELTA);
-
- // Test 1
- answer.setAnswerId("1");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(2, score.count);
- assertEquals(5, score.sum, DELTA);
-
- // Test 0.33. Should be 2.
- answer.setAnswerId("0.33333");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(3, score.count);
- assertEquals(7, score.sum, DELTA);
-
- // Test 0.9, should be 4.
- answer.setAnswerId("0.9");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(4, score.count);
- assertEquals(11, score.sum, DELTA);
- }
-
- /**
- * Test the scoreAnswer() method with six answers.
- */
- @Test
- public void testScoreAnswerSixAnswers() {
- // Create the four answers.
- createAnswers(6);
-
- Score score = new Score();
- RecordedAnswer answer = new RecordedAnswer();
-
- // Test 0
- answer.setAnswerId("0");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(1, score.count);
- assertEquals(1, score.sum, DELTA);
-
- // Test 1
- answer.setAnswerId("1");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(2, score.count);
- assertEquals(5, score.sum, DELTA);
-
- // Test 0.33. Should score as 1.33
- answer.setAnswerId("0.33333");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(3, score.count);
- assertEquals(6.3333, score.sum, DELTA);
-
- // Test 0.55. Should score as 2.66
- answer.setAnswerId("0.55");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(4, score.count);
- assertEquals(9, score.sum, DELTA);
-
- // Test 0.9. Should score as 4.
- answer.setAnswerId("0.90");
- assertTrue(mEngine.scoreAnswer(score, mQuestion, answer));
- assertEquals(5, score.count);
- assertEquals(13, score.sum, DELTA);
- }
-
- /**
- * Verify exception is thrown for non-numeric answer.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testNonNumericAnswer() {
- Score score = new Score();
- RecordedAnswer answer = new RecordedAnswer();
- answer.setAnswerId("unknown");
- mEngine.scoreAnswer(score, mQuestion, answer);
- }
-
- /**
- * Verify exception is thrown for negative answer.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testNegativeAnswer() {
- createAnswers(4);
- Score score = new Score();
- RecordedAnswer answer = new RecordedAnswer();
- answer.setAnswerId("-1");
- mEngine.scoreAnswer(score, mQuestion, answer);
- }
-
- /**
- * Verify exception is thrown for out of bounds answer.
- */
- @Test(expected = IllegalArgumentException.class)
- public void testAnswerOutOfBounds() {
- createAnswers(4);
- Score score = new Score();
- RecordedAnswer answer = new RecordedAnswer();
- answer.setAnswerId("1.1");
- mEngine.scoreAnswer(score, mQuestion, answer);
- }
-
- /**
- * Helper method to create a number of questions on the slider.
- *
- * @param count Number of answers on the questions.
- */
- private void createAnswers(int count) {
- Map<String, Answer> answers = mQuestion.getAnswers();
- answers.clear();
- for (int i = 0; i < count; i++) {
- answers.put(String.valueOf(i), new Answer());
- }
- }
-}
diff --git a/tst/com/p4square/grow/model/TextQuestionTest.java b/tst/com/p4square/grow/model/TextQuestionTest.java
deleted file mode 100644
index d85ed86..0000000
--- a/tst/com/p4square/grow/model/TextQuestionTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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());
- }
-}
diff --git a/tst/com/p4square/grow/model/TrainingRecordTest.java b/tst/com/p4square/grow/model/TrainingRecordTest.java
deleted file mode 100644
index 43caa90..0000000
--- a/tst/com/p4square/grow/model/TrainingRecordTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.model;
-
-import java.io.InputStream;
-import java.util.Date;
-import java.util.Map;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Test TrainingRecord, Playlist, and Chapter.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class TrainingRecordTest {
- public static void main(String... args) {
- org.junit.runner.JUnitCore.main(TrainingRecordTest.class.getName());
- }
-
- private static final ObjectMapper MAPPER = new ObjectMapper();
-
- /**
- * Test deserialization of a JSON Training record.
- */
- @Test
- public void testDeserialization() throws Exception {
- InputStream in = getClass().getResourceAsStream("trainingrecord.json");
- TrainingRecord record = MAPPER.readValue(in, TrainingRecord.class);
-
- // Last Video
- assertEquals("teacher-1", record.getLastVideo());
-
- // Playlist
- Playlist playlist = record.getPlaylist();
-
- // Find video successfully
- VideoRecord r = playlist.find("teacher-1");
- assertEquals(true, r.getRequired());
- assertEquals(true, r.getComplete());
- assertEquals(new Date(1379288806266L), r.getCompletionDate());
-
- // Find non-existent video
- r = playlist.find("not-a-video");
- assertEquals(null, r);
-
- // isChapterComplete
- assertTrue(playlist.isChapterComplete("seeker")); // Complete because not required.
- assertTrue(playlist.isChapterComplete("disciple")); // Required and completed.
- assertFalse(playlist.isChapterComplete("teacher")); // Not complete.
-
- // getChapterStatuses
- Map<String, Boolean> statuses = playlist.getChapterStatuses();
- assertTrue(statuses.get("seeker")); // Complete because not required.
- assertTrue(statuses.get("disciple")); // Required and completed.
- assertFalse(statuses.get("teacher")); // Not complete.
- }
-
- /**
- * Tests for VideoRecord.
- */
- @Test
- public void testVideoRecord() {
- VideoRecord record = new VideoRecord();
-
- // Verify defaults
- assertTrue(record.getRequired());
- assertFalse(record.getComplete());
- assertEquals(null, record.getCompletionDate());
-
- // Verify completion
- long now = System.currentTimeMillis();
- record.complete();
- assertTrue(record.getRequired());
- assertTrue(record.getComplete());
- assertTrue(now <= record.getCompletionDate().getTime());
- }
-}
diff --git a/tst/com/p4square/grow/model/trainingrecord.json b/tst/com/p4square/grow/model/trainingrecord.json
deleted file mode 100644
index ea214f3..0000000
--- a/tst/com/p4square/grow/model/trainingrecord.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "lastVideo": "teacher-1",
- "playlist": {
- "seeker": {
- "seeker-2":{"required":false,"complete":false,"completionDate":null},
- "seeker-1":{"required":false,"complete":false,"completionDate":null}
- },
- "disciple":{
- "disciple-8":{"required":true,"complete":true,"completionDate":1379288805010},
- "disciple-9":{"required":true,"complete":true,"completionDate":1379288805220},
- "disciple-1":{"required":true,"complete":true,"completionDate":1379288805266}
- },
- "teacher":{
- "teacher-2":{"required":true,"complete":false,"completionDate":null},
- "teacher-1":{"required":true,"complete":true,"completionDate":1379288806266}
- }
- }
-}