Kotlinlearncs.online LogoJava
Return to List

Test Writing: Dog Getters and Setters

Created By: Geoffrey Challen
/ Version: 2021.2.0

Define a class named Dog with two properties: a Double called age and a String called name. Provide a complete constructor that sets both properties with name as its first parameter. Your name property should be publicly readable but not writeable, whereas age is both publicly readable and writable. Finally, reject negative age values and null names using require in the appropriate places and before modifying any values.

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 Kotlin's assert or check methods