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");
}
}