Commit 14df736

mokha <mokha@cisco.com>
2019-04-29 00:34:02
get above average runners
1 parent e8efc1a
Changed files (2)
assignments
assignment1
src
main
java
ca
mokhan
test
java
ca
assignments/assignment1/src/main/java/ca/mokhan/assignment1/BanffMarathonRunner.java
@@ -20,6 +20,11 @@ public class BanffMarathonRunner extends AddressBook
     return Integer.compare(this.time, runner.time);
   }
 
+  @Override
+  public String toString() {
+    return super.getFirstName() + " " + this.years;
+  }
+
   public static BanffMarathonRunner getFastestRunner(BanffMarathonRunner[] runners)
   {
     Arrays.sort(runners);
@@ -38,4 +43,17 @@ public class BanffMarathonRunner extends AddressBook
     for (BanffMarathonRunner runner : runners) sum += runner.time;
     return sum / runners.length;
   }
+
+  public static String getAboveAverageRunners(BanffMarathonRunner[] runners)
+  {
+    int average = getAverageTime(runners);
+    String result = "";
+
+    for (BanffMarathonRunner runner : runners) {
+      if (runner.time >= average) {
+        result += runner.toString() + "\r\n";
+      }
+    }
+    return result;
+  }
 }
assignments/assignment1/src/test/java/ca/mokhan/assignment1/BanffMarathonRunnerTest.java
@@ -52,4 +52,11 @@ public class BanffMarathonRunnerTest extends TestCase
   {
     assertEquals(321, BanffMarathonRunner.getAverageTime(this.runners));
   }
+
+  public void testGetAboveAverageRunners()
+  {
+    String expected = "Elena 1\r\n" + "Suzie 7\r\n" + "Philip 9\r\n" +
+      "James 1\r\n" + "Jane 1\r\n" + "Emily 4\r\n" + "Neda 3\r\n";
+    assertEquals(expected, BanffMarathonRunner.getAboveAverageRunners(this.runners));
+  }
 }