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..70eb709 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(19);
+ assertTrue(averageRating == 4.0,"Ignoring too large number 20");
}
}