Kotlinlearncs.online LogoJava
Return to List

Test Writing: Circle Shape

Created By: Geoffrey Challen
/ Version: 2020.6.0

Create and complete the implementation of the Circle class. Your class should inherit from the Shape class, and provide the following methods:

  1. Constructor that takes a Double parameter. Creates a new Circle with the passed radius. You can assume that the passed radius is greater than zero. You should call the Shape constructor and pass it the String "circle" to identify the type of this shape.
  2. Implement the Shape method area that takes no arguments and returns a double. Return the area of this shape: Math.PI * radius * radius.
  3. Override fun equals(other: Any?): Boolean. Return true if other is a Circle with the same radius, and false otherwise. Note that other may be null or not a Circle.

Finally, note that your class should not expose any of its internal state publicly.

Test Design Challenge

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

  • Provide a public class named TestCircle 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