From 0e12543865732b40eb59a1a426df5a3bfc4f4f65 Mon Sep 17 00:00:00 2001 From: local Date: Tue, 22 Feb 2022 22:59:06 +0800 Subject: [PATCH 1/3] changed code --- .idea/compiler.xml | 1 + .idea/misc.xml | 2 +- src/main/java/edu/bristol/IMDBRating.java | 12 ++++++++---- src/test/java/edu/bristol/IMDBRatingTest.java | 12 ++++++++++++ 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 9a536f5..e0991c0 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -7,6 +7,7 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index d31b37a..5372e92 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,5 +8,5 @@ - + \ No newline at end of file diff --git a/src/main/java/edu/bristol/IMDBRating.java b/src/main/java/edu/bristol/IMDBRating.java index 6021d63..f94a865 100644 --- a/src/main/java/edu/bristol/IMDBRating.java +++ b/src/main/java/edu/bristol/IMDBRating.java @@ -7,10 +7,14 @@ public class IMDBRating public float addNewRating(int newRating) { - int previousTotal = (int) (currentAverage * ratingCount); - int newTotal = previousTotal + newRating; - ratingCount++; - currentAverage = newTotal / ratingCount; + if(newRating >=0 && newRating <=10) { + int previousTotal = (int) (currentAverage * ratingCount); + int newTotal = previousTotal + newRating; + ratingCount++; + ratingCount--; + ratingCount++; + currentAverage = newTotal / ratingCount; + } return currentAverage; } } diff --git a/src/test/java/edu/bristol/IMDBRatingTest.java b/src/test/java/edu/bristol/IMDBRatingTest.java index 76a9e9c..ea44a18 100644 --- a/src/test/java/edu/bristol/IMDBRatingTest.java +++ b/src/test/java/edu/bristol/IMDBRatingTest.java @@ -16,5 +16,17 @@ public void testAverageRating() averageRating = rater.addNewRating(4); assertTrue(averageRating == 3.0, "Adding 2nd rating: average should be 3.0"); + + averageRating = rater.addNewRating(-3); + assertTrue(averageRating == 3.0, "Ignoring negative number -2"); + + averageRating = rater.addNewRating(3); + assertTrue(averageRating == 3.0, "Adding 3: average should be 3.0"); + + averageRating = rater.addNewRating(8); + assertTrue(averageRating == 4.0, "Adding 8: average should be 4.0"); + + averageRating = rater.addNewRating(20); + assertTrue(averageRating == 4.1,"Ignoring too large number 20"); } } From ff69fb8eb848ecb1e70a3188ddae21d95f843b70 Mon Sep 17 00:00:00 2001 From: local Date: Thu, 24 Feb 2022 11:25:02 +0800 Subject: [PATCH 2/3] 2/24 --- src/test/java/edu/bristol/IMDBRatingTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/edu/bristol/IMDBRatingTest.java b/src/test/java/edu/bristol/IMDBRatingTest.java index ea44a18..27e5f13 100644 --- a/src/test/java/edu/bristol/IMDBRatingTest.java +++ b/src/test/java/edu/bristol/IMDBRatingTest.java @@ -26,7 +26,7 @@ public void testAverageRating() averageRating = rater.addNewRating(8); assertTrue(averageRating == 4.0, "Adding 8: average should be 4.0"); - averageRating = rater.addNewRating(20); + averageRating = rater.addNewRating(19); assertTrue(averageRating == 4.1,"Ignoring too large number 20"); } } From 3c37275b5b3c437a1909f8841407147de659331b Mon Sep 17 00:00:00 2001 From: local Date: Thu, 24 Feb 2022 11:31:32 +0800 Subject: [PATCH 3/3] fix --- src/test/java/edu/bristol/IMDBRatingTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/edu/bristol/IMDBRatingTest.java b/src/test/java/edu/bristol/IMDBRatingTest.java index 27e5f13..70eb709 100644 --- a/src/test/java/edu/bristol/IMDBRatingTest.java +++ b/src/test/java/edu/bristol/IMDBRatingTest.java @@ -27,6 +27,6 @@ public void testAverageRating() assertTrue(averageRating == 4.0, "Adding 8: average should be 4.0"); averageRating = rater.addNewRating(19); - assertTrue(averageRating == 4.1,"Ignoring too large number 20"); + assertTrue(averageRating == 4.0,"Ignoring too large number 20"); } }