From 731ec9a00de1ff96797a9cdf9bcb56e1fd72231f Mon Sep 17 00:00:00 2001
From: Brady James Garvin <bgarvin@cse.unl.edu>
Date: Fri, 14 Oct 2016 09:24:17 -0500
Subject: [PATCH] Changed code to give more interesting coverage.

---
 .../soft160/testable_median/MedianOfFive.java | 25 +++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/testable_median/src/main/java/edu/unl/cse/soft160/testable_median/MedianOfFive.java b/testable_median/src/main/java/edu/unl/cse/soft160/testable_median/MedianOfFive.java
index 16abf3d..02b85a7 100644
--- a/testable_median/src/main/java/edu/unl/cse/soft160/testable_median/MedianOfFive.java
+++ b/testable_median/src/main/java/edu/unl/cse/soft160/testable_median/MedianOfFive.java
@@ -17,7 +17,7 @@ public class MedianOfFive {
 		}
 		return result;
 	}
-	
+
 	public static void showOutput(double[] numbers, double median) {
 		String message = "The median of " + Arrays.toString(numbers) + " is " + median + ".";
 		showMessageDialog(null, message);
@@ -25,7 +25,28 @@ public class MedianOfFive {
 
 	public static double getMedian(double first, double second, double third, double fourth, double fifth) {
 		double[] ordered = { first, second, third, fourth, fifth };
-		Arrays.sort(ordered);
+		// An unorthodox unrolled solution:
+		for (int i = 1; i < ordered.length; ++i) {
+			if (ordered[0] > ordered[i]) {
+				double swap = ordered[0];
+				ordered[0] = ordered[i];
+				ordered[i] = swap;
+			}
+		}
+		for (int i = 2; i < ordered.length; ++i) {
+			if (ordered[1] > ordered[i]) {
+				double swap = ordered[1];
+				ordered[1] = ordered[i];
+				ordered[i] = swap;
+			}
+		}
+		for (int i = 3; i < ordered.length; ++i) {
+			if (ordered[2] > ordered[i]) {
+				double swap = ordered[2];
+				ordered[2] = ordered[i];
+				ordered[i] = swap;
+			}
+		}
 		return ordered[2];
 	}
 
-- 
GitLab