// Aaron Tan
// 
// To test out BallV3 class 
// The input portion is modularised to call readBall().

import java.util.*;

class TestBallV3 {

   // This method reads ball's input data from user, creates
   // a ball object, and returns it to the caller.
   public static BallV3 readBall(Scanner sc) {

      System.out.print("Enter colour: ");
      String inputColour = sc.next();
      System.out.print("Enter radius: ");
      double inputRadius = sc.nextDouble();
      System.out.print("Enter centre's x- and y-coordinates: ");
      int inputXCoord = sc.nextInt();
      int inputYCoord = sc.nextInt();

      // Create a BallV3 object using the alternative constructor
      return new BallV3(inputColour, inputRadius, inputXCoord, inputYCoord);
   }

   public static void main(String[] args) {

      Scanner scanner = new Scanner(System.in);

      // Read ball's input and create a ball object
      BallV3 myBall1 = readBall(scanner);

      System.out.println();

      // Read another ball's input and create a ball object
      BallV3 myBall2 = readBall(scanner);

      System.out.println();

      // Testing toString() method
      // How would the output be like if there is no toString() method in BallV3?
      // You may also write: System.out.println("1st ball: " + myBall1.toString());
      //                     System.out.println("2nd ball: " + myBall2.toString());

      System.out.println("1st ball: " + myBall1);
      System.out.println("2nd ball: " + myBall2);

      // Testing == 
      System.out.println("myBall1 == myBall2 is " + (myBall1 == myBall2));

      // Testing equals() method
      System.out.println("myBall1.equals(myBall2) is " + myBall1.equals(myBall2));
   }

}

