Kotlinlearncs.online LogoJava
Return to List

Test Writing: Comparable Dog

Created By: Geoffrey Challen
/ Version: 2020.3.0

Create a class called Dog that implements the Comparable interface. Dog should provide a public constructor that takes a single double argument that sets that dog's weight. You should assert that the provided weight is greater than zero. You should order dogs based on their weight. Specifically, compareTo should return:

  • -1 if this dog is lighter than the passed dog
  • 0 if this dog is the same weight as the passed dog, or if the passed value is not a Dog
  • 1 if this dog is heavier than the passed dog

As a reminder, the Comparable interface comprises a single method: int compareTo(Object other).

Test Design Challenge

You're challenge is to write tests for this problem described above.

  • Provide a public class named TestDog with a single non-private class method named test that accepts no arguments and does not return a value.
  • If the implementation of the class described above is incorrect, your test method should throw an exception.
  • If it is correct, do not throw an exception.
  • You may want to use Java's assert method