/Reflection/src/main/java/RunnerForPartB.java

https://bitbucket.org/meleshko_oleg/epam_training_2018 · Java · 69 lines · 43 code · 10 blank · 16 comment · 0 complexity · f7a7b8d446b28e190d058229f2d12f1b MD5 · raw file

  1. import partB.analyzers.CarAnalyzer;
  2. import partB.enums.CarModel;
  3. import partB.enums.Color;
  4. import partB.objects.Car;
  5. /**
  6. * Runner class for part B of the Reflection Home Task.
  7. */
  8. public class RunnerForPartB {
  9. public static void main(String[] args) {
  10. // N1
  11. Car bmw5 = new Car(CarModel.BMW, 1550, 5, Color.BLACK, "Germany");
  12. Car _bmw5 = new Car(CarModel.BMW, 1550, 5, Color.BLACK, "Germany");
  13. boolean areCarsEquivalent_1 = CarAnalyzer.areCarsEquivalent(bmw5, _bmw5); // true
  14. printResultOfCarComparison(bmw5, _bmw5, areCarsEquivalent_1);
  15. // N2
  16. Car bmw3 = new Car(CarModel.BMW, 1110, 4, Color.BLUE, "Germany");
  17. Car _bmw3 = new Car(CarModel.BMW, 1110, 4, Color.BLUE, new String("Germany"));
  18. boolean areCarsEquivalent_2 = CarAnalyzer.areCarsEquivalent(bmw3, _bmw3); // false (last constructor parameter without interning)
  19. printResultOfCarComparison(bmw3, _bmw3, areCarsEquivalent_2);
  20. // N3
  21. Car audiA8 = new Car(CarModel.AUDI, 1950, 5, Color.WHITE, "Brazil");
  22. Car _audiA8 = new Car(CarModel.AUDI, 1950, 5, Color.GREY, "Brazil");
  23. boolean areCarsEquivalent_3 = CarAnalyzer.areCarsEquivalent(audiA8, _audiA8); // false (colors differ)
  24. printResultOfCarComparison(audiA8, _audiA8, areCarsEquivalent_3);
  25. // N4
  26. Car mazda3 = new Car(CarModel.MAZDA, 1150, 4, Color.BLUE, "Japan");
  27. Car mazda6 = new Car(CarModel.MAZDA, 1750, 5, Color.GREY, "Japan");
  28. boolean areCarsEquivalent_4 = CarAnalyzer.areCarsEquivalent(mazda3, mazda6); // false (weight, passenger capacity and color differ)
  29. printResultOfCarComparison(mazda3, mazda6, areCarsEquivalent_4);
  30. // N5
  31. Car ferrariF430 = new Car(CarModel.FERRARI, 1450, 2, Color.RED, "Italy");
  32. Car _ferrariF430 = new Car(CarModel.FERRARI, 1450, 2, Color.RED, "Italy");
  33. boolean areCarsEquivalent_5 = CarAnalyzer.areCarsEquivalent(ferrariF430, _ferrariF430); // true
  34. printResultOfCarComparison(ferrariF430, _ferrariF430, areCarsEquivalent_5);
  35. // N6
  36. Car ladaVesta = new Car(CarModel.LADA, 1200, 4, Color.YELLOW, "Russia");
  37. Car _ladaVesta = new Car(CarModel.LADA, 1200, 4, Color.YELLOW, "Kazakhstan");
  38. boolean areCarsEquivalent_6 = CarAnalyzer.areCarsEquivalent(ladaVesta, _ladaVesta); // false (manufacturer countries differ)
  39. printResultOfCarComparison(ladaVesta, _ladaVesta, areCarsEquivalent_6);
  40. // N7
  41. Car mercedes = new Car(CarModel.MERCEDES, 2200, 5, Color.GREEN, "China");
  42. Car lexus = new Car(CarModel.LEXUS, 2200, 5, Color.GREEN, "China");
  43. boolean areCarsEquivalent_7 = CarAnalyzer.areCarsEquivalent(mercedes, lexus); // false (car models differ)
  44. printResultOfCarComparison(mercedes, lexus, areCarsEquivalent_7);
  45. }
  46. /**
  47. * Print result of comparison to console.
  48. * @param firstCar for comparison.
  49. * @param secondCar for comparison.
  50. * @param areCarsEquivalent result of comparison.
  51. */
  52. private static void printResultOfCarComparison(Car firstCar, Car secondCar, boolean areCarsEquivalent){
  53. System.out.printf(
  54. "First car - %s\n" +
  55. "Second car - %s\n" +
  56. "Are these cars equivalent? ---> %b\n\n",
  57. firstCar, secondCar, areCarsEquivalent);
  58. }
  59. }