From 4555eab75c713123a725feb3b3119ec086397223 Mon Sep 17 00:00:00 2001 From: Chiori Date: Wed, 23 Feb 2022 23:32:13 +0000 Subject: [PATCH] add a few files --- .idea/compiler.xml | 1 + .idea/misc.xml | 2 +- src/main/java/edu/bristol/IMDBRating.java | 29 +++++++++++++++--- src/test/java/edu/bristol/IMDBRatingTest.java | 15 +++++++++ target/classes/edu/bristol/IMDBRating.class | Bin 0 -> 1742 bytes .../edu/bristol/IMDBRatingTest.class | Bin 0 -> 1343 bytes 6 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 target/classes/edu/bristol/IMDBRating.class create mode 100644 target/test-classes/edu/bristol/IMDBRatingTest.class 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..732146c 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..dee3e78 100644 --- a/src/main/java/edu/bristol/IMDBRating.java +++ b/src/main/java/edu/bristol/IMDBRating.java @@ -1,5 +1,8 @@ + package edu.bristol; +import java.text.DecimalFormat; + public class IMDBRating { private float currentAverage = 0; @@ -7,10 +10,26 @@ public class IMDBRating public float addNewRating(int newRating) { - int previousTotal = (int) (currentAverage * ratingCount); - int newTotal = previousTotal + newRating; - ratingCount++; - currentAverage = newTotal / ratingCount; - return currentAverage; + if (isValidRating(newRating)) { + int previousTotal = (int)(currentAverage * ratingCount); + float newTotal = previousTotal + newRating; + ratingCount++; + currentAverage = toTwoDecimal(newTotal / ratingCount); + System.out.println("current average is " + currentAverage); + return currentAverage; + } + else + return Float.NaN; + } + public boolean isValidRating(int rateNumber) + { + if (rateNumber < 0 || rateNumber > 10) return false; + else return true; + } + public float toTwoDecimal(float originalNumber) + { + DecimalFormat df = new DecimalFormat("0.00"); + float newNumber = Float.parseFloat(df.format(originalNumber)); + return newNumber; } } diff --git a/src/test/java/edu/bristol/IMDBRatingTest.java b/src/test/java/edu/bristol/IMDBRatingTest.java index 76a9e9c..0b1f4f7 100644 --- a/src/test/java/edu/bristol/IMDBRatingTest.java +++ b/src/test/java/edu/bristol/IMDBRatingTest.java @@ -16,5 +16,20 @@ public void testAverageRating() averageRating = rater.addNewRating(4); assertTrue(averageRating == 3.0, "Adding 2nd rating: average should be 3.0"); + + averageRating = rater.addNewRating(6); + assertTrue(averageRating == 4.0, "Adding 3rd rating: average should be 4.0"); + + averageRating = rater.addNewRating(9); + assertTrue(averageRating == 5.25, "Adding 4th rating: average should be 5.25"); + + averageRating = rater.addNewRating(4); + assertTrue(averageRating == 5, "Adding 5th rating: average should be 5"); + + averageRating = rater.addNewRating(8); + assertTrue(averageRating == 5.5, "Adding 6th rating: average should be 5.5"); + + averageRating = rater.addNewRating(10); + assertTrue(averageRating == 6.14, "Adding 7th rating: average should be 6.14 "); } } diff --git a/target/classes/edu/bristol/IMDBRating.class b/target/classes/edu/bristol/IMDBRating.class new file mode 100644 index 0000000000000000000000000000000000000000..9270ad4ddde9b00658d36340ebfcd1bbe0ae39dc GIT binary patch literal 1742 zcmaJ>-%lGy5dPLSoH@=mF~kXVnvejkaS5jB?>b2frf%HYgvOMVRVo_zPIXYAEQXE5)!3SmFN6Rm8#C(9X}#yb-KOT-I;IZo0*$e|GfAMzzy6t5kuTS z!a^VV8HTp_4lg;}-6-8&+Y&9s(0|=_ZFQ3&UYJ@LKoSE6Obdgs7;>WBE3J99ucT9| zH5TUYaAmt24Cz+S^MtGBc7(?_1OuyT)3k*Qh8PCDK(8WuE_q-zlkTz>hB3mBvi%kA z*zE(TM4>iyPb=gsoWpqrOUdP3xgc70hdT_3LUoG3-$35L1q*ND;%hXTd%hAKieC1} z)!BML(3Yho&vsQ)d4hM!S<1zjh0D0YaIV9*MMb(TuI}1ulO$hpSNUX1jzaSwKV(Z( z%O)l;Y2YmjZ==94d5kOk| z?oTF?V$skC%4Spcyq2iinp@_muV-`}sJrH+RKD_fw;|M~Z2OshESk8DB?I5+HoC(w zaa2s(-I3d(6!uHlSykRr(%WPB`FJ}-iXrGN?zSD_Pt>K{?sdy2yXM%*Ylh2vU2%%~ z{bTy!uU$Ug5)nj&J5JM9qMXDs!$|ZOkMZy~9<%*1MrEtHuJ9@j_kH0TxXUnkg6(M} z46HI-{C`zy+K@4&F-fxt^v3kC2_zaG^i6>2X+`U&w40-QM&C^F8CY@fDU4$LDN?@& z24z~)h|}6nW;DC#xlTJPG@%K2lXeWB;qwUYIq42(Cy0jL_*E-N#7lD&{F*O`;YBtfdOwGAz((AK2eyOv8uF!lWz( zX(R6WUons$GJiu~{88c&DTkrxu@9P=7V?41T(D0c!l&`YA$$TclZLb&z7hI5q39gt z{>1cZcIFvo8`I-I?c>^Wd{~{-gku5WF!PsSVvHiYd`ONg4?X25a$OCR)-Q33EJx_A f1%%`HD!}?0b^0brt3huQ-_p(`X$9Zm9!CEK9#4r; literal 0 HcmV?d00001 diff --git a/target/test-classes/edu/bristol/IMDBRatingTest.class b/target/test-classes/edu/bristol/IMDBRatingTest.class new file mode 100644 index 0000000000000000000000000000000000000000..07643c4d95a02dbe5dbd6ad4aa66b3a18c9ba03f GIT binary patch literal 1343 zcmaJ=OHUI~7(KTwGo_YN3Wdtc5foa)4wM#@ms2DpBn1;_YJ6;_?W7Er88V&XFL0+} zWlY@YN;htFA&Q9$m;N7@8oxX3I2-KDG`ZAVvb?> zVo?;e25Bg8*R0Yp^cHkO+if0|HLIwW>$DOpm=(2NQZ1d&+lvAFK&KNNE&Si*3PYbw zuJbLixDxAWi^rX_Eru=lG%+N9gUPhV@|@F)U*MdBjn~5FQ}`1H-T}f@c`RbByB+B)p^DUoqiyOKNqb z-K_{dUi