diff --git a/src/main/java/MakeItFit/queries/MostDoneActivity.java b/src/main/java/MakeItFit/queries/MostDoneActivity.java index 41a3f99..0573adb 100644 --- a/src/main/java/MakeItFit/queries/MostDoneActivity.java +++ b/src/main/java/MakeItFit/queries/MostDoneActivity.java @@ -37,13 +37,16 @@ public String executeQuery(UserManager userManager) { count[1]++; } else if (a instanceof RepetitionsWithWeights) { count[2]++; - } else if (a instanceof Repetitions) { + /* One of the branches is never triggered + } else if (a instanceof Repetitions) { + */ + } else { count[3]++; } } } - int maxIndex = max(count); + int maxIndex = max(count); String mostDoneActivity; switch (maxIndex) { case 0: @@ -66,11 +69,11 @@ public String executeQuery(UserManager userManager) { default: mostDoneActivity = "Repetitions"; break; - /* Would never be reached (dead code) - default: - mostDoneActivity = "No activities"; - break; - */ + /* Would never be reached (dead code) + default: + mostDoneActivity = "No activities"; + break; + */ }; return mostDoneActivity; } diff --git a/src/unittests/java/MakeItFit/queries/HowManyAltimetryDoneTest.java b/src/unittests/java/MakeItFit/queries/HowManyAltimetryDoneTest.java index 03e7994..118377b 100644 --- a/src/unittests/java/MakeItFit/queries/HowManyAltimetryDoneTest.java +++ b/src/unittests/java/MakeItFit/queries/HowManyAltimetryDoneTest.java @@ -79,6 +79,22 @@ void testExecuteQueryWithDatesThrows() { MakeItFitDate.of(1999, 2, 9))); } + @Test + void testExecuteQueryWithNullDatesThrows() { + assertThrows(IllegalArgumentException.class, + () -> query.executeQuery(userManager, "jd@suspect.pt", null, null)); + } + + @Test + void testExecuteQueryWithDateThrows() { + assertThrows(IllegalArgumentException.class, + () + -> query.executeQuery(userManager, + "jd@suspect.pt", + MakeItFitDate.of(1999, 2, 9), + null)); + } + @Test void testExecuteQueryWithDatesNoValidActivities() { user.addActivities(Arrays.asList(createPushUp(MakeItFitDate.of(1999, 2, 9)))); @@ -105,6 +121,20 @@ void testExecuteQueryWithDatesActivitiesOutsideTimeWindow() { MakeItFitDate.of(1999, 4, 10))); } + @Test + void testExecuteQueryWithDatesActivitiesOutsideTimeWindow2() { + user.addActivities( + Arrays.asList(createTrail(MakeItFitDate.of(1999, 2, 9), 229.12, 142.0), + createTrail(MakeItFitDate.of(1999, 2, 14), 654.129, 532.0))); + userManager.insertUser(user); + + assertEquals(0, + query.executeQuery(userManager, + "jd@suspect.pt", + MakeItFitDate.of(1999, 1, 2), + MakeItFitDate.of(1999, 1, 3))); + } + @Test void testExecuteQueryReturnsTrueAltimetry() { user.addActivities( diff --git a/src/unittests/java/MakeItFit/queries/HowManyKMsDoneTest.java b/src/unittests/java/MakeItFit/queries/HowManyKMsDoneTest.java index 2cc9748..f7f7cc6 100644 --- a/src/unittests/java/MakeItFit/queries/HowManyKMsDoneTest.java +++ b/src/unittests/java/MakeItFit/queries/HowManyKMsDoneTest.java @@ -76,6 +76,22 @@ void testExecuteQueryWithDatesThrows() { MakeItFitDate.of(1999, 2, 9))); } + @Test + void testExecuteQueryWithNullDatesThrows() { + assertThrows(IllegalArgumentException.class, + () -> query.executeQuery(userManager, "jd@suspect.pt", null, null)); + } + + @Test + void testExecuteQueryWithNullDateThrows() { + assertThrows(IllegalArgumentException.class, + () + -> query.executeQuery(userManager, + "jd@suspect.pt", + MakeItFitDate.of(1999, 2, 9), + null)); + } + @Test void testExecuteQueryWithDatesNoValidActivities() { user.addActivities(Arrays.asList(createPushUp(MakeItFitDate.of(1999, 2, 9)))); @@ -100,6 +116,18 @@ void testExecuteQueryWithDatesActivitiesOutsideTimeWindow() { MakeItFitDate.of(1999, 4, 10))); } + @Test + void testExecuteQueryWithDatesActivitiesOutsideTimeWindow2() { + user.addActivities(Arrays.asList(createRunning(MakeItFitDate.of(1999, 2, 9), 123.143))); + userManager.insertUser(user); + + assertEquals(0, + query.executeQuery(userManager, + "jd@suspect.pt", + MakeItFitDate.of(1999, 2, 4), + MakeItFitDate.of(1999, 2, 6))); + } + @Test void testExecuteQueryReturnsTrueDistance() { user.addActivities(Arrays.asList(createRunning(MakeItFitDate.of(1999, 2, 9), 2122.12), diff --git a/src/unittests/java/MakeItFit/queries/QueriesManagerTest.java b/src/unittests/java/MakeItFit/queries/QueriesManagerTest.java index 930a401..9240b40 100644 --- a/src/unittests/java/MakeItFit/queries/QueriesManagerTest.java +++ b/src/unittests/java/MakeItFit/queries/QueriesManagerTest.java @@ -154,8 +154,17 @@ void testExecuteQueryWhoBurnsMoreCaloresWithDates() { WhoBurnsMoreCalories query = new WhoBurnsMoreCalories(); this.user.addActivities(Arrays.asList(this.trail, this.trail)); - User user1 = this.user.clone(); - user1.setEmail("something@diferent.com"); + User user1 = new Professional("JohnDoe", + 21, + Gender.Male, + 59, + 150, + 60, + 6, + "Lloyd", + "987 123 432", + "something@diferent.pt", + 7); this.userManager.insertUser(user); this.userManager.insertUser(user1); @@ -174,8 +183,17 @@ void testExecuteQueryWhoBurnsMoreCalores() { WhoBurnsMoreCalories query = new WhoBurnsMoreCalories(); this.user.addActivities(Arrays.asList(this.trail, this.trail)); - User user1 = this.user.clone(); - user1.setEmail("something@diferent.com"); + User user1 = new Professional("JohnDoe", + 21, + Gender.Male, + 59, + 150, + 60, + 6, + "Lloyd", + "987 123 432", + "something@diferent.pt", + 7); user1.addActivity(this.trail); this.userManager.insertUser(user); @@ -190,9 +208,17 @@ void testWhoDidTheMostActivitiesWithDates() { WhoDidTheMostActivities query = new WhoDidTheMostActivities(); this.user.addActivities(Arrays.asList(this.trail, this.trail)); - User user1 = this.user.clone(); - user1.setEmail("something@diferent.com"); - user1.addActivity(this.trail); + User user1 = new Professional("JohnDoe", + 21, + Gender.Male, + 59, + 150, + 60, + 6, + "Lloyd", + "987 123 432", + "something@diferent.pt", + 7); this.userManager.insertUser(user); this.userManager.insertUser(user1); @@ -211,8 +237,18 @@ void testWhoDidTheMostActivities() { WhoDidTheMostActivities query = new WhoDidTheMostActivities(); this.user.addActivities(Arrays.asList(this.trail, this.trail)); - User user1 = this.user.clone(); - user1.setEmail("something@diferent.com"); + User user1 = new Professional("JohnDoe", + 21, + Gender.Male, + 59, + 150, + 60, + 6, + "Lloyd", + "987 123 432", + "something@diferent.pt", + 7); + user1.addActivity(this.trail); this.userManager.insertUser(user); diff --git a/src/unittests/java/MakeItFit/queries/WhoBurnsMoreCaloriesTest.java b/src/unittests/java/MakeItFit/queries/WhoBurnsMoreCaloriesTest.java index 9e9012f..74672b3 100644 --- a/src/unittests/java/MakeItFit/queries/WhoBurnsMoreCaloriesTest.java +++ b/src/unittests/java/MakeItFit/queries/WhoBurnsMoreCaloriesTest.java @@ -55,6 +55,19 @@ void testExecuteQueryWithDatesThrows() { MakeItFitDate.of(1999, 12, 30))); } + @Test + void testExecuteQueryWithNullDatesThrows() { + assertThrows(IllegalArgumentException.class, + () -> this.query.executeQuery(userManager, null, null)); + } + + @Test + void testExecuteQueryWithNullDateThrows() { + assertThrows( + IllegalArgumentException.class, + () -> this.query.executeQuery(userManager, MakeItFitDate.of(2000, 2, 9), null)); + } + @Test void testExecuteQueryWithDatesReturnsUserWithValidActivities() { User user1 = createUser("jd@uminho.pt", 58, 167, 80); @@ -63,7 +76,7 @@ void testExecuteQueryWithDatesReturnsUserWithValidActivities() { User user2 = createUser("jd@gemail.pt", 58, 167, 80); user2.addActivities( - Arrays.asList(createPushUp(user1.getCode(), MakeItFitDate.of(2004, 2, 15)), + Arrays.asList(createPushUp(user1.getCode(), MakeItFitDate.of(1950, 2, 15)), createPushUp(user1.getCode(), MakeItFitDate.of(2003, 2, 15)), createPushUp(user1.getCode(), MakeItFitDate.of(2002, 2, 15)))); diff --git a/src/unittests/java/MakeItFit/queries/WhoDidTheMostActivitiesTest.java b/src/unittests/java/MakeItFit/queries/WhoDidTheMostActivitiesTest.java index 6f6ab08..bf3998d 100644 --- a/src/unittests/java/MakeItFit/queries/WhoDidTheMostActivitiesTest.java +++ b/src/unittests/java/MakeItFit/queries/WhoDidTheMostActivitiesTest.java @@ -54,6 +54,19 @@ void testExecuteQueryWithDatesThrows() { MakeItFitDate.of(1999, 12, 30))); } + @Test + void testExecuteQueryWithNullDatesThrows() { + assertThrows(IllegalArgumentException.class, + () -> this.query.executeQuery(userManager, null, null)); + } + + @Test + void testExecuteQueryWithNullDateThrows() { + assertThrows( + IllegalArgumentException.class, + () -> this.query.executeQuery(userManager, MakeItFitDate.of(2000, 2, 9), null)); + } + @Test void testExecuteQueryWithDatesReturnsUserWithValidActivities() { User user1 = createUser("jd@uminho.pt"); @@ -62,7 +75,7 @@ void testExecuteQueryWithDatesReturnsUserWithValidActivities() { User user2 = createUser("jd@gemail.pt"); user2.addActivities( - Arrays.asList(createPushUp(user1.getCode(), MakeItFitDate.of(2004, 2, 15)), + Arrays.asList(createPushUp(user1.getCode(), MakeItFitDate.of(1950, 2, 15)), createPushUp(user1.getCode(), MakeItFitDate.of(2003, 2, 15)), createPushUp(user1.getCode(), MakeItFitDate.of(2002, 2, 15))));