diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 14:22:20 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 15:48:01 -0700 |
commit | 3102d8bce3426d9cf41aeaf201c360d342677770 (patch) | |
tree | 38c4f1e8828f9af9c4b77a173bee0d312b321698 /tst | |
parent | bbf907e51dfcf157bdee24dead1d531122aa25db (diff) |
Switching from Ivy+Ant to Maven.
Diffstat (limited to 'tst')
22 files changed, 0 insertions, 2374 deletions
diff --git a/tst/com/p4square/grow/backend/resources/ResourceTestBase.java b/tst/com/p4square/grow/backend/resources/ResourceTestBase.java deleted file mode 100644 index b4d7864..0000000 --- a/tst/com/p4square/grow/backend/resources/ResourceTestBase.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2015 Jesse Morgan - */ - -package com.p4square.grow.backend.resources; - -import java.io.IOException; - -import org.restlet.Application; - -import com.p4square.grow.model.Playlist; -import com.p4square.grow.model.Question; -import com.p4square.grow.model.TrainingRecord; -import com.p4square.grow.model.UserRecord; - -import com.p4square.grow.backend.feed.FeedDataProvider; -import com.p4square.grow.provider.CollectionProvider; -import com.p4square.grow.provider.MapCollectionProvider; -import com.p4square.grow.provider.MapProvider; -import com.p4square.grow.provider.Provider; -import com.p4square.grow.provider.ProvidesAssessments; -import com.p4square.grow.provider.ProvidesQuestions; -import com.p4square.grow.provider.ProvidesStrings; -import com.p4square.grow.provider.ProvidesTrainingRecords; -import com.p4square.grow.provider.ProvidesUserRecords; -import com.p4square.grow.provider.ProvidesVideos; - -import org.junit.Before; - -/** - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public class ResourceTestBase { - - protected TestApplication mApplication; - - @Before - public void setup() throws Exception { - mApplication = new TestApplication(); - Application.setCurrent(mApplication); - } - - public static class TestApplication extends Application implements - ProvidesQuestions, ProvidesTrainingRecords, ProvidesUserRecords, - ProvidesStrings, ProvidesAssessments - { - - private final Provider<String, UserRecord> mUserRecordProvider; - private final Provider<String, Question> mQuestionProvider; - private final Provider<String, TrainingRecord> mTrainingRecordProvider; - private final Provider<String, String> mStringProvider; - private final CollectionProvider<String, String, String> mAnswerProvider; - - private Playlist mDefaultPlaylist; - - public TestApplication() { - mStringProvider = new MapProvider<String, String>(); - mUserRecordProvider = new MapProvider<String, UserRecord>(); - mQuestionProvider = new MapProvider<String, Question>(); - mTrainingRecordProvider = new MapProvider<String, TrainingRecord>(); - mAnswerProvider = new MapCollectionProvider<String, String, String>(); - - mDefaultPlaylist = new Playlist(); - } - - @Override - public Provider<String, UserRecord> getUserRecordProvider() { - return mUserRecordProvider; - } - - @Override - public Provider<String, Question> getQuestionProvider() { - return mQuestionProvider; - } - - @Override - public Provider<String, TrainingRecord> getTrainingRecordProvider() { - return mTrainingRecordProvider; - } - - public void setDefaultPlaylist(Playlist playlist) { - mDefaultPlaylist = playlist; - } - - @Override - public Playlist getDefaultPlaylist() throws IOException { - return mDefaultPlaylist; - } - - @Override - public Provider<String, String> getStringProvider() { - return mStringProvider; - } - - @Override - public CollectionProvider<String, String, String> getAnswerProvider() { - return mAnswerProvider; - } - } -} diff --git a/tst/com/p4square/grow/backend/resources/TrainingRecordResourceTest.java b/tst/com/p4square/grow/backend/resources/TrainingRecordResourceTest.java deleted file mode 100644 index db85051..0000000 --- a/tst/com/p4square/grow/backend/resources/TrainingRecordResourceTest.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright 2015 Jesse Morgan - */ - -package com.p4square.grow.backend.resources; - -import java.util.Map; -import java.util.HashMap; - -import org.restlet.data.Method; -import org.restlet.Request; -import org.restlet.Response; -import org.restlet.ext.jackson.JacksonRepresentation; - -import com.p4square.grow.model.Playlist; -import com.p4square.grow.model.TrainingRecord; - -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Tests for the TrainingRecordResource - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public class TrainingRecordResourceTest extends ResourceTestBase { - - private final String USER_ID = "1234"; - - private TrainingRecordResource mResource; - private Request mRequest; - private Response mResponse; - - @Before - public void setup() throws Exception { - super.setup(); - - mResource = new TrainingRecordResource(); - - mRequest = new Request(Method.GET, "/"); - Map<String, Object> attributes = new HashMap<>(); - attributes.put("userId", USER_ID); - mRequest.setAttributes(attributes); - mResponse = new Response(mRequest); - - Playlist playlist = new Playlist(); - playlist.add("introduction", "intro-1"); - playlist.add("seeker", "seeker-1"); - playlist.add("believer", "believer-1"); - playlist.add("believer", "believer-2"); - playlist.add("disciple", "disciple-1"); - playlist.add("teacher", "teacher-1"); - playlist.add("leader", "leader-1"); - mApplication.setDefaultPlaylist(playlist); - } - - private <T> T run(Class<T> type) throws Exception { - mResource.init(mApplication.getContext(), mRequest, mResponse); - mResource.handle(); - mResource.release(); - - return new JacksonRepresentation<T>(mResponse.getEntity(), type).getObject(); - } - - @Test - public void testSkipAssessedChaptersLow() throws Exception { - // Set the User's score. - mApplication.getAnswerProvider().put(USER_ID, "summary", "{\"sum\": 0.0, \"count\": 1}"); - - // Run the test - TrainingRecord record = run(TrainingRecord.class); - - // Assert correct videos required. - Playlist actualPlaylist = record.getPlaylist(); - assertTrue(actualPlaylist.find("intro-1").getRequired()); // Always required. - assertTrue(actualPlaylist.find("seeker-1").getRequired()); // Required by assessment. - assertTrue(actualPlaylist.find("believer-1").getRequired()); - assertTrue(actualPlaylist.find("believer-1").getRequired()); - assertTrue(actualPlaylist.find("disciple-1").getRequired()); - assertTrue(actualPlaylist.find("teacher-1").getRequired()); - assertTrue(actualPlaylist.find("leader-1").getRequired()); - } - - @Test - public void testSkipAssessedChaptersSeeker() throws Exception { - // Set the User's score. - mApplication.getAnswerProvider().put(USER_ID, "summary", "{\"sum\": 1.0, \"count\": 1}"); - - // Run the test - TrainingRecord record = run(TrainingRecord.class); - - // Assert correct videos required. - Playlist actualPlaylist = record.getPlaylist(); - assertTrue(actualPlaylist.find("intro-1").getRequired()); // Always required. - assertTrue(actualPlaylist.find("seeker-1").getRequired()); // Required by assessment. - assertTrue(actualPlaylist.find("believer-1").getRequired()); - assertTrue(actualPlaylist.find("believer-1").getRequired()); - assertTrue(actualPlaylist.find("disciple-1").getRequired()); - assertTrue(actualPlaylist.find("teacher-1").getRequired()); - assertTrue(actualPlaylist.find("leader-1").getRequired()); - } - - @Test - public void testSkipAssessedChaptersBeliever() throws Exception { - // Set the User's score. - mApplication.getAnswerProvider().put(USER_ID, "summary", "{\"sum\": 2.0, \"count\": 1}"); - - // Run the test - TrainingRecord record = run(TrainingRecord.class); - - // Assert correct videos required. - Playlist actualPlaylist = record.getPlaylist(); - assertTrue(actualPlaylist.find("intro-1").getRequired()); // Always required. - assertFalse(actualPlaylist.find("seeker-1").getRequired()); // Not required by assessment. - assertTrue(actualPlaylist.find("believer-1").getRequired()); // Required by assessment. - assertTrue(actualPlaylist.find("believer-1").getRequired()); - assertTrue(actualPlaylist.find("disciple-1").getRequired()); - assertTrue(actualPlaylist.find("teacher-1").getRequired()); - assertTrue(actualPlaylist.find("leader-1").getRequired()); - } - - @Test - public void testSkipAssessedChaptersHigh() throws Exception { - // Set the User's score. - mApplication.getAnswerProvider().put(USER_ID, "summary", "{\"sum\": 4.0, \"count\": 1}"); - - // Run the test - TrainingRecord record = run(TrainingRecord.class); - - // Assert correct videos required. - Playlist actualPlaylist = record.getPlaylist(); - assertTrue(actualPlaylist.find("intro-1").getRequired()); // Always required. - assertFalse(actualPlaylist.find("seeker-1").getRequired()); // Not required by assessment. - assertFalse(actualPlaylist.find("believer-1").getRequired()); - assertFalse(actualPlaylist.find("believer-1").getRequired()); - assertFalse(actualPlaylist.find("disciple-1").getRequired()); - assertTrue(actualPlaylist.find("teacher-1").getRequired()); // Required by assessment. - assertTrue(actualPlaylist.find("leader-1").getRequired()); - } -} diff --git a/tst/com/p4square/grow/ccb/CCBProgressReporterTest.java b/tst/com/p4square/grow/ccb/CCBProgressReporterTest.java deleted file mode 100644 index 63a973a..0000000 --- a/tst/com/p4square/grow/ccb/CCBProgressReporterTest.java +++ /dev/null @@ -1,231 +0,0 @@ -package com.p4square.grow.ccb; - -import com.p4square.ccbapi.CCBAPI; -import com.p4square.ccbapi.model.*; -import org.easymock.Capture; -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; - -import java.time.LocalDate; -import java.util.Date; - -import static org.junit.Assert.*; - -/** - * Tests for the CCBProgressReporter. - */ -public class CCBProgressReporterTest { - - private static final String GROW_LEVEL = "GrowLevelTrain"; - private static final String ASSESSMENT_LEVEL = "GrowLevelAsmnt"; - - private CCBProgressReporter reporter; - - private CCBAPI api; - private CustomFieldCache cache; - - private CCBUser user; - private Date date; - - @Before - public void setUp() { - // Setup some data for testing. - IndividualProfile profile = new IndividualProfile(); - profile.setId(123); - profile.setFirstName("Larry"); - profile.setLastName("Cucumber"); - profile.setEmail("larry.cucumber@example.com"); - - user = new CCBUser(profile); - date = new Date(1427889600000L); // 2015-04-01 - - // Setup the mocks. - api = EasyMock.mock(CCBAPI.class); - cache = EasyMock.mock(CustomFieldCache.class); - reporter = new CCBProgressReporter(api, cache); - } - - private void setupCacheMocks() { - // Setup the Grow Level field. - CustomField growLevelDate = new CustomField(); - growLevelDate.setName("udf_ind_date_1"); - growLevelDate.setLabel(GROW_LEVEL); - - CustomField growLevelPulldown = new CustomField(); - growLevelPulldown.setName("udf_ind_pulldown_1"); - growLevelPulldown.setLabel(GROW_LEVEL); - - LookupTableItem believer = new LookupTableItem(); - believer.setId(1); - believer.setOrder(2); - believer.setName("Believer"); - - EasyMock.expect(cache.getDateFieldByLabel(GROW_LEVEL)) - .andReturn(growLevelDate).anyTimes(); - EasyMock.expect(cache.getIndividualPulldownByLabel(GROW_LEVEL)) - .andReturn(growLevelPulldown).anyTimes(); - EasyMock.expect(cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_1, "Believer")) - .andReturn(believer).anyTimes(); - - // Setup the Grow Assessment field. - CustomField growAssessmentDate = new CustomField(); - growAssessmentDate.setName("udf_ind_date_2"); - growAssessmentDate.setLabel(ASSESSMENT_LEVEL); - - CustomField growAssessmentPulldown = new CustomField(); - growAssessmentPulldown.setName("udf_ind_pulldown_2"); - growAssessmentPulldown.setLabel(ASSESSMENT_LEVEL); - - EasyMock.expect(cache.getDateFieldByLabel(ASSESSMENT_LEVEL)) - .andReturn(growAssessmentDate).anyTimes(); - EasyMock.expect(cache.getIndividualPulldownByLabel(ASSESSMENT_LEVEL)) - .andReturn(growAssessmentPulldown).anyTimes(); - EasyMock.expect(cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_2, "Believer")) - .andReturn(believer).anyTimes(); - } - - @Test - public void reportAssessmentComplete() throws Exception { - // Setup mocks - setupCacheMocks(); - Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture(); - EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture))) - .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class)); - replay(); - - // Test reporter - reporter.reportAssessmentComplete(user, "Believer", date, "Data"); - - // Assert that the profile was updated. - verify(); - assertTrue(reqCapture.hasCaptured()); - UpdateIndividualProfileRequest req = reqCapture.getValue(); - assertEquals(1, req.getCustomPulldownFields().get("udf_pulldown_2").intValue()); - assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_2").toString()); - } - - @Test - public void testReportChapterCompleteNoPreviousChapter() throws Exception { - // Setup mocks - setupCacheMocks(); - Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture(); - EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture))) - .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class)); - replay(); - - // Test reporter - reporter.reportChapterComplete(user, "Believer", date); - - // Assert that the profile was updated. - verify(); - assertTrue(reqCapture.hasCaptured()); - UpdateIndividualProfileRequest req = reqCapture.getValue(); - assertEquals(1, req.getCustomPulldownFields().get("udf_pulldown_1").intValue()); - assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_1").toString()); - } - - @Test - public void testReportChapterCompleteLowerPreviousChapter() throws Exception { - // Setup mocks - setupCacheMocks(); - Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture(); - EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture))) - .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class)); - - setUserPulldownSelection(GROW_LEVEL, "Seeker"); - - replay(); - - // Test reporter - reporter.reportChapterComplete(user, "Believer", date); - - // Assert that the profile was updated. - verify(); - assertTrue(reqCapture.hasCaptured()); - UpdateIndividualProfileRequest req = reqCapture.getValue(); - assertEquals(1, req.getCustomPulldownFields().get("udf_pulldown_1").intValue()); - assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_1").toString()); - } - - @Test - public void testReportChapterCompleteHigherPreviousChapter() throws Exception { - // Setup mocks - setupCacheMocks(); - setUserPulldownSelection(GROW_LEVEL, "Disciple"); - - replay(); - - // Test reporter - reporter.reportChapterComplete(user, "Believer", date); - - // Assert that the profile was updated. - verify(); - } - - @Test - public void testReportChapterCompleteNoCustomField() throws Exception { - // Setup mocks - EasyMock.expect(cache.getDateFieldByLabel(EasyMock.anyString())).andReturn(null).anyTimes(); - EasyMock.expect(cache.getIndividualPulldownByLabel(EasyMock.anyString())).andReturn(null).anyTimes(); - EasyMock.expect(cache.getPulldownItemByName(EasyMock.anyObject(), EasyMock.anyString())) - .andReturn(null).anyTimes(); - replay(); - - // Test reporter - reporter.reportChapterComplete(user, "Believer", date); - - // Assert that the profile was updated. - verify(); - } - - @Test - public void testReportChapterCompleteNoSuchValue() throws Exception { - // Setup mocks - setupCacheMocks(); - EasyMock.expect(cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_1, "Foo")) - .andReturn(null).anyTimes(); - Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture(); - EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture))) - .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class)); - replay(); - - // Test reporter - reporter.reportChapterComplete(user, "Foo", date); - - // Assert that the profile was updated. - verify(); - assertTrue(reqCapture.hasCaptured()); - UpdateIndividualProfileRequest req = reqCapture.getValue(); - assertNull(req.getCustomPulldownFields().get("udf_pulldown_1")); - assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_1").toString()); - } - - private void setUserPulldownSelection(final String field, final String value) { - // Get the pulldown field collection for the user. - CustomFieldCollection<CustomPulldownFieldValue> pulldowns = user.getProfile().getCustomPulldownFields(); - if (pulldowns == null) { - pulldowns = new CustomFieldCollection<>(); - user.getProfile().setCustomPulldownFields(pulldowns); - } - - // Create the selection for the value. - PulldownSelection selection = new PulldownSelection(); - selection.setLabel(value); - - // Create the field/value pair and add it to the collection. - CustomPulldownFieldValue fieldValue = new CustomPulldownFieldValue(); - fieldValue.setName(field); // This is unused by the test, but it should be a udf_ identifier. - fieldValue.setLabel(field); - fieldValue.setSelection(selection); - pulldowns.add(fieldValue); - } - - private void replay() { - EasyMock.replay(api, cache); - } - - private void verify() { - EasyMock.verify(api, cache); - } -}
\ No newline at end of file diff --git a/tst/com/p4square/grow/ccb/CCBUserVerifierTest.java b/tst/com/p4square/grow/ccb/CCBUserVerifierTest.java deleted file mode 100644 index d17b698..0000000 --- a/tst/com/p4square/grow/ccb/CCBUserVerifierTest.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.p4square.grow.ccb; - -import com.p4square.ccbapi.CCBAPI; -import com.p4square.ccbapi.model.GetIndividualProfilesRequest; -import com.p4square.ccbapi.model.GetIndividualProfilesResponse; -import com.p4square.ccbapi.model.IndividualProfile; -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.restlet.Request; -import org.restlet.Response; -import org.restlet.data.ChallengeResponse; -import org.restlet.data.ChallengeScheme; -import org.restlet.data.ClientInfo; -import org.restlet.security.Verifier; - -import java.io.IOException; -import java.util.Collections; - -import static org.junit.Assert.*; - -/** - * Tests for CCBUserVerifier. - */ -public class CCBUserVerifierTest { - - private IndividualProfile mProfile = new IndividualProfile(); - - private CCBAPI mAPI; - private CCBUserVerifier verifier; - - private ClientInfo mClientInfo; - private Request mMockRequest; - private Response mMockResponse; - - @Before - public void setUp() { - mAPI = EasyMock.mock(CCBAPI.class); - verifier = new CCBUserVerifier(mAPI); - - mClientInfo = new ClientInfo(); - mMockRequest = EasyMock.mock(Request.class); - EasyMock.expect(mMockRequest.getClientInfo()).andReturn(mClientInfo).anyTimes(); - - mMockResponse = EasyMock.mock(Response.class); - - mProfile.setId(48); - mProfile.setFirstName("Larry"); - mProfile.setLastName("Bob"); - mProfile.setEmail("larry.bob@example.com"); - } - - private void replay() { - EasyMock.replay(mAPI, mMockRequest, mMockResponse); - } - - private void verify() { - EasyMock.verify(mAPI, mMockRequest, mMockResponse); - } - - - @Test - public void testVerifyNoCredentials() throws Exception { - // Prepare mocks - EasyMock.expect(mMockRequest.getChallengeResponse()).andReturn(null).anyTimes(); - replay(); - - // Test - int result = verifier.verify(mMockRequest, mMockResponse); - - // Verify - verify(); - assertEquals(Verifier.RESULT_MISSING, result); - assertNull(mClientInfo.getUser()); - } - - @Test - public void testVerifyAuthFailure() throws Exception { - // Prepare mocks - ChallengeResponse challenge = new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "user", "pass"); - EasyMock.expect(mMockRequest.getChallengeResponse()).andReturn(challenge).anyTimes(); - GetIndividualProfilesResponse response = new GetIndividualProfilesResponse(); - response.setIndividuals(Collections.<IndividualProfile>emptyList()); - EasyMock.expect(mAPI.getIndividualProfiles(new GetIndividualProfilesRequest() - .withLoginPassword("user", "pass".toCharArray()))).andReturn(response); - replay(); - - // Test - int result = verifier.verify(mMockRequest, mMockResponse); - - // Verify - verify(); - assertEquals(Verifier.RESULT_INVALID, result); - assertNull(mClientInfo.getUser()); - } - - @Test - public void testVerifyAuthException() throws Exception { - // Prepare mocks - ChallengeResponse challenge = new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "user", "pass"); - EasyMock.expect(mMockRequest.getChallengeResponse()).andReturn(challenge).anyTimes(); - EasyMock.expect(mAPI.getIndividualProfiles(EasyMock.anyObject(GetIndividualProfilesRequest.class))) - .andThrow(new IOException()); - replay(); - - // Test - int result = verifier.verify(mMockRequest, mMockResponse); - - // Verify - verify(); - assertEquals(Verifier.RESULT_INVALID, result); - assertNull(mClientInfo.getUser()); - } - - @Test - public void testVerifyAuthSuccess() throws Exception { - // Prepare mocks - ChallengeResponse challenge = new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "user", "pass"); - EasyMock.expect(mMockRequest.getChallengeResponse()).andReturn(challenge).anyTimes(); - GetIndividualProfilesResponse response = new GetIndividualProfilesResponse(); - response.setIndividuals(Collections.singletonList(mProfile)); - EasyMock.expect(mAPI.getIndividualProfiles(new GetIndividualProfilesRequest() - .withLoginPassword("user", "pass".toCharArray()))).andReturn(response); - - replay(); - - // Test - int result = verifier.verify(mMockRequest, mMockResponse); - - // Verify - verify(); - assertEquals(Verifier.RESULT_VALID, result); - assertNotNull(mClientInfo.getUser()); - assertEquals("CCB-48", mClientInfo.getUser().getIdentifier()); - assertEquals("Larry", mClientInfo.getUser().getFirstName()); - assertEquals("Bob", mClientInfo.getUser().getLastName()); - assertEquals("larry.bob@example.com", mClientInfo.getUser().getEmail()); - } -}
\ No newline at end of file diff --git a/tst/com/p4square/grow/ccb/CustomFieldCacheTest.java b/tst/com/p4square/grow/ccb/CustomFieldCacheTest.java deleted file mode 100644 index bcfd260..0000000 --- a/tst/com/p4square/grow/ccb/CustomFieldCacheTest.java +++ /dev/null @@ -1,241 +0,0 @@ -package com.p4square.grow.ccb; - -import com.p4square.ccbapi.CCBAPI; -import com.p4square.ccbapi.model.*; -import org.easymock.Capture; -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; - -import java.io.IOException; -import java.util.Arrays; - -import static org.junit.Assert.*; - -/** - * Tests for the CustomFieldCache. - */ -public class CustomFieldCacheTest { - - private CustomFieldCache cache; - - private CCBAPI api; - private GetCustomFieldLabelsResponse customFieldsResponse; - private GetLookupTableResponse lookupTableResponse; - - @Before - public void setUp() { - api = EasyMock.mock(CCBAPI.class); - cache = new CustomFieldCache(api); - - // Prepare some custom fields for the test. - CustomField textField = new CustomField(); - textField.setName("udf_ind_text_6"); - textField.setLabel("Grow Level"); - - CustomField dateField = new CustomField(); - dateField.setName("udf_ind_date_6"); - dateField.setLabel("Grow Level"); - - CustomField pullDown = new CustomField(); - pullDown.setName("udf_ind_pulldown_6"); - pullDown.setLabel("Grow Level"); - - customFieldsResponse = new GetCustomFieldLabelsResponse(); - customFieldsResponse.setCustomFields(Arrays.asList(textField, dateField, pullDown)); - - // Prepare some pulldown items for the tests. - LookupTableItem seeker = new LookupTableItem(); - seeker.setId(1); - seeker.setOrder(1); - seeker.setName("Seeker"); - - LookupTableItem believer = new LookupTableItem(); - believer.setId(2); - believer.setOrder(2); - believer.setName("Believer"); - - lookupTableResponse = new GetLookupTableResponse(); - lookupTableResponse.setItems(Arrays.asList(seeker, believer)); - } - - @Test - public void testGetTextFieldByLabel() throws Exception { - // Setup mocks - EasyMock.expect(api.getCustomFieldLabels()).andReturn(customFieldsResponse); - EasyMock.replay(api); - - // Test the cache - CustomField field = cache.getTextFieldByLabel("Grow Level"); - - // Verify result. - EasyMock.verify(api); - assertEquals("udf_ind_text_6", field.getName()); - assertEquals("Grow Level", field.getLabel()); - } - - @Test - public void testGetDateFieldByLabel() throws Exception { - // Setup mocks - EasyMock.expect(api.getCustomFieldLabels()).andReturn(customFieldsResponse); - EasyMock.replay(api); - - // Test the cache - CustomField field = cache.getDateFieldByLabel("Grow Level"); - - // Verify result. - EasyMock.verify(api); - assertEquals("udf_ind_date_6", field.getName()); - assertEquals("Grow Level", field.getLabel()); - } - - @Test - public void testGetPullDownFieldByLabel() throws Exception { - // Setup mocks - EasyMock.expect(api.getCustomFieldLabels()).andReturn(customFieldsResponse); - EasyMock.replay(api); - - // Test the cache - CustomField field = cache.getIndividualPulldownByLabel("Grow Level"); - - // Verify result. - EasyMock.verify(api); - assertEquals("udf_ind_pulldown_6", field.getName()); - assertEquals("Grow Level", field.getLabel()); - } - - @Test - public void testGetPullDownFieldByLabelMissing() throws Exception { - // Setup mocks - EasyMock.expect(api.getCustomFieldLabels()).andReturn(customFieldsResponse); - EasyMock.replay(api); - - // Test the cache - CustomField field = cache.getIndividualPulldownByLabel("Missing Label"); - - // Verify result. - EasyMock.verify(api); - assertNull(field); - } - - @Test - public void testGetPullDownFieldByLabelException() throws Exception { - // Setup mocks - EasyMock.expect(api.getCustomFieldLabels()).andThrow(new IOException()); - EasyMock.expect(api.getCustomFieldLabels()).andReturn(customFieldsResponse); - EasyMock.replay(api); - - // Test the cache - CustomField field1 = cache.getIndividualPulldownByLabel("Grow Level"); - CustomField field2 = cache.getIndividualPulldownByLabel("Grow Level"); - - // Verify result. - EasyMock.verify(api); - assertNull(field1); - assertNotNull(field2); - } - - @Test - public void testGetMultipleFields() throws Exception { - // Setup mocks - // Note: only one API call. - EasyMock.expect(api.getCustomFieldLabels()).andReturn(customFieldsResponse); - EasyMock.replay(api); - - // Test the cache - CustomField field1 = cache.getTextFieldByLabel("Grow Level"); - CustomField field2 = cache.getIndividualPulldownByLabel("Grow Level"); - - // Verify result. - EasyMock.verify(api); - assertEquals("udf_ind_text_6", field1.getName()); - assertEquals("Grow Level", field1.getLabel()); - assertEquals("udf_ind_pulldown_6", field2.getName()); - assertEquals("Grow Level", field2.getLabel()); - } - - @Test - public void testGetPullDownOptions() throws Exception { - // Setup mocks - Capture<GetLookupTableRequest> requestCapture = EasyMock.newCapture(); - EasyMock.expect(api.getLookupTable(EasyMock.capture(requestCapture))).andReturn(lookupTableResponse); - EasyMock.replay(api); - - // Test the cache - LookupTableItem item = cache.getPulldownItemByName( - LookupTableType.valueOf("udf_ind_pulldown_6".toUpperCase()), - "Believer"); - - // Verify result. - EasyMock.verify(api); - assertEquals(LookupTableType.UDF_IND_PULLDOWN_6, requestCapture.getValue().getType()); - assertEquals(2, item.getId()); - assertEquals(2, item.getOrder()); - assertEquals("Believer", item.getName()); - } - - @Test - public void testGetPullDownOptionsMixedCase() throws Exception { - // Setup mocks - Capture<GetLookupTableRequest> requestCapture = EasyMock.newCapture(); - EasyMock.expect(api.getLookupTable(EasyMock.capture(requestCapture))).andReturn(lookupTableResponse); - EasyMock.replay(api); - - // Test the cache - LookupTableItem item = cache.getPulldownItemByName( - LookupTableType.valueOf("udf_ind_pulldown_6".toUpperCase()), - "BeLiEvEr"); - - // Verify result. - EasyMock.verify(api); - assertEquals(LookupTableType.UDF_IND_PULLDOWN_6, requestCapture.getValue().getType()); - assertEquals(2, item.getId()); - assertEquals(2, item.getOrder()); - assertEquals("Believer", item.getName()); - } - - @Test - public void testGetPullDownOptionMissing() throws Exception { - // Setup mocks - EasyMock.expect(api.getLookupTable(EasyMock.anyObject())).andReturn(lookupTableResponse); - EasyMock.replay(api); - - // Test the cache - LookupTableItem item = cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_6, "Something else"); - - // Verify result. - EasyMock.verify(api); - assertNull(item); - } - - @Test - public void testGetPullDownMissing() throws Exception { - // Setup mocks - EasyMock.expect(api.getLookupTable(EasyMock.anyObject())).andReturn(new GetLookupTableResponse()); - EasyMock.replay(api); - - // Test the cache - LookupTableItem item = cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_6, "Believer"); - - // Verify result. - EasyMock.verify(api); - assertNull(item); - } - - @Test - public void testGetPullDownException() throws Exception { - // Setup mocks - EasyMock.expect(api.getLookupTable(EasyMock.anyObject())).andThrow(new IOException()); - EasyMock.expect(api.getLookupTable(EasyMock.anyObject())).andReturn(lookupTableResponse); - EasyMock.replay(api); - - // Test the cache - LookupTableItem item1 = cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_6, "Believer"); - LookupTableItem item2 = cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_6, "Believer"); - - // Verify result. - EasyMock.verify(api); - assertNull(item1); - assertNotNull(item2); - } -}
\ No newline at end of file diff --git a/tst/com/p4square/grow/config/ConfigTest.java b/tst/com/p4square/grow/config/ConfigTest.java deleted file mode 100644 index ccb39da..0000000 --- a/tst/com/p4square/grow/config/ConfigTest.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.config; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public class ConfigTest { - public static void main(String... args) { - org.junit.runner.JUnitCore.main(ConfigTest.class.getName()); - } - - @Test - public void basicTest() throws Exception { - // Load a config file - Config domain1 = new Config(); - domain1.setDomain("domain1"); - Config domain2 = new Config(); - domain2.setDomain("domain2"); - - domain1.updateConfig(getClass().getResourceAsStream("ConfigTest.properties")); - domain2.updateConfig(getClass().getResourceAsStream("ConfigTest.properties")); - - // Non-existent key returns default - assertEquals("default", domain1.getString("doesNotExist", "default")); - assertSame(null, domain1.getString("doesNotExist")); - - // Domain keys return different values for different domains - assertEquals("domain1Value", domain1.getString("domainSpecific")); - assertEquals("domain2Value", domain2.getString("domainSpecific")); - - // Domain key takes priority over *. key - assertEquals("domain1Value", domain1.getString("onlyInDomain1")); - assertEquals("wildValue", domain2.getString("onlyInDomain1")); - - // Wildcard domain returns value - assertEquals("wildValue", domain1.getString("wildcardOnly")); - - // Empty value gives empty string - assertEquals("", domain1.getString("emptyValue")); - - // Number is returned - assertEquals(5, domain1.getInt("number")); - - // Non number test - assertEquals(Integer.MIN_VALUE, domain1.getInt("notANumber")); - - // Test Boolean values - assertTrue(domain1.getBoolean("boolean1")); - assertTrue(domain1.getBoolean("boolean2")); - assertFalse(domain1.getBoolean("boolean3")); - assertFalse(domain1.getBoolean("notABool")); - assertTrue(domain1.getBoolean("notABool", true)); - } -} diff --git a/tst/com/p4square/grow/config/ConfigTest.properties b/tst/com/p4square/grow/config/ConfigTest.properties deleted file mode 100644 index e5b4032..0000000 --- a/tst/com/p4square/grow/config/ConfigTest.properties +++ /dev/null @@ -1,16 +0,0 @@ -domain1.domainSpecific = domain1Value -domain2.domainSpecific = domain2Value - -*.emptyValue = - -domain1.onlyInDomain1 = domain1Value -*.onlyInDomain1 = wildValue - -*.wildcardOnly = wildValue - -*.number = 5 -*.notANumber = Hello - -*.boolean1 = True -*.boolean2 = true -*.boolean3 = false 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} - } - } -} |