summaryrefslogtreecommitdiff
path: root/src/Q4/README.md
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-13 21:43:16 -0600
committermokha <mokha@cisco.com>2019-05-13 21:43:16 -0600
commit3577d7930d626f55007ee02ca69331699c5bbc8d (patch)
tree0e19f5a45e44fce22df6af80125f564fbcbce87a /src/Q4/README.md
parent2b469c027a59b1ba4125e2d7ab6a970e3deaa186 (diff)
update program profiles
Diffstat (limited to 'src/Q4/README.md')
-rw-r--r--src/Q4/README.md96
1 files changed, 92 insertions, 4 deletions
diff --git a/src/Q4/README.md b/src/Q4/README.md
index f3e1359..80a84eb 100644
--- a/src/Q4/README.md
+++ b/src/Q4/README.md
@@ -38,15 +38,103 @@ Finally, print the name and number of years participated for each runner if the
[Briefly describe how you solved the problem in your code. You should include short description of classes, methods, and variables (if necessary) that you used in your code.]
+I followed the instructions in the assignment and created a class the
+inherits from `AddressBook`. The sub class has a single constructor that
+chains to the super class constructor.
+
+I did an override of the `Comparable<AddressBook>` interface to compare
+using the runners time instead of the default comparison from the base
+class.
+
+Java's implementation of generics doesn't allow a class to
+implement the same generic interface using a different type parameter.
+So I had to downcast the `AddressBook` to a `BanffMarathonRunner`. The
+`compareTo` implementation in the subclass always assums that it is
+being compared to another `BanffMarathonRunner`.
+
+Sorting arrays becomes very using after implementing the `Comparable<T>`
+interface.
+
3. Errors and Warnings:
-[Please enlist your Errors and Warnings (maximum five) that you encountered in your code and how you solved them. An example of this is shown in Table 1.]
-Table 1: List of Errors and Warnings Encountered in the Program
+```bash
+モ mvn test
+[INFO] Scanning for projects...
+[INFO]
+[INFO] -------------------< ca.mokhan.comp268:assignment1 >--------------------
+[INFO] Building assignment1 1.0-SNAPSHOT
+[INFO] --------------------------------[ jar ]---------------------------------
+[INFO]
+[INFO] --- fmt-maven-plugin:2.8:format (default) @ assignment1 ---
+[INFO] Processed 46 files (0 reformatted).
+[INFO]
+[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ assignment1 ---
+[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
+[INFO] skip non existing resourceDirectory /Users/mokha/development/gh/comp-268/src/main/resources
+[INFO]
+[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ assignment1 ---
+[INFO] Changes detected - recompiling the module!
+[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
+[INFO] Compiling 24 source files to /Users/mokha/development/gh/comp-268/target/classes
+[INFO]
+[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ assignment1 ---
+[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
+[INFO] skip non existing resourceDirectory /Users/mokha/development/gh/comp-268/src/test/resources
+[INFO]
+[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ assignment1 ---
+[INFO] Changes detected - recompiling the module!
+[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
+[INFO] Compiling 24 source files to /Users/mokha/development/gh/comp-268/target/test-classes
+[INFO]
+[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ assignment1 ---
+[INFO] Surefire report directory: /Users/mokha/development/gh/comp-268/target/surefire-reports
+
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running ca.mokhan.comp268.AppTest
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec
+Running ca.mokhan.test.CandidateTest
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.05 sec
+Running ca.mokhan.test.NumberTest
+Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 sec
+Running ca.mokhan.test.EmployeeSavingsTest
+Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec
+Running ca.mokhan.test.CartesianCoordinateSystemTest
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec
+Running ca.mokhan.test.CommunicationTest
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec
+Running ca.mokhan.test.TaxReturnTest
+Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
+Running ca.mokhan.test.BanffMarathonRunnerTest
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
+Running ca.mokhan.test.AddressBookTest
+Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
+Running ca.mokhan.test.TriangleTest
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec
+Running ca.mokhan.test.BonusOnSavingsTest
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec
+Running ca.mokhan.test.HailstoneSequenceTest
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
+
+Results :
+
+Tests run: 52, Failures: 0, Errors: 0, Skipped: 0
+
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESS
+[INFO] ------------------------------------------------------------------------
+[INFO] Total time: 2.893 s
+[INFO] Finished at: 2019-05-13T21:20:12-06:00
+[INFO] ------------------------------------------------------------------------
+```
4. Sample Input and Output:
-[Provide some test cases with sample input and output of your program.]
+
+Tests are available in `BanffMarathonRunnerTest.java`.
5. Discussion:
-[In this section, you may include some discussion about the debugging strategy that you used, e.g., searched the Web for a solution, contacted tutor, solved by self, used a debugging tool, posted in forum, talked to a friend, etc.]
+The implementation of `getAboveAverageRunners` assumes that `better`
+is less than or equal to the average time taken by all runners.