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..8c1e2b0 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..5466957 100644 --- a/src/main/java/edu/bristol/IMDBRating.java +++ b/src/main/java/edu/bristol/IMDBRating.java @@ -7,10 +7,11 @@ public class IMDBRating public float addNewRating(int newRating) { - int previousTotal = (int) (currentAverage * ratingCount); - int newTotal = previousTotal + newRating; + float previousTotal = currentAverage * ratingCount; + float newTotal = previousTotal + newRating; ratingCount++; currentAverage = newTotal / ratingCount; + currentAverage = Math.round(currentAverage*10.0)/10.0f; return currentAverage; } } diff --git a/src/test/java/edu/bristol/IMDBRatingTest.java b/src/test/java/edu/bristol/IMDBRatingTest.java index 76a9e9c..c3ee71e 100644 --- a/src/test/java/edu/bristol/IMDBRatingTest.java +++ b/src/test/java/edu/bristol/IMDBRatingTest.java @@ -16,5 +16,11 @@ public void testAverageRating() averageRating = rater.addNewRating(4); assertTrue(averageRating == 3.0, "Adding 2nd rating: average should be 3.0"); + + averageRating = rater.addNewRating(7); + assertTrue(averageRating == (float)4.3, "Adding 3rd rating: average should be 4.3"); + + averageRating = rater.addNewRating(9); + assertTrue(averageRating == (float)5.5, "Adding 4th rating: average should be 5.4"); } }