|
5 | 5 | public class simonguzman { |
6 | 6 | public static void main(String[] args) { |
7 | 7 | //libraryViolationOcp(); |
8 | | - libraryFollowOCP(); |
| 8 | + //libraryFollowOCP(); |
| 9 | + calculatorTest(); |
| 10 | + calculatorOCPTest(); |
9 | 11 | } |
10 | 12 | /*************************** Ejercicio adicional con ocp(Correcto) ***************************/ |
| 13 | + static void calculatorOCPTest(){ |
| 14 | + CalculatorOCP calculator = new CalculatorOCP(); |
| 15 | + |
| 16 | + double resultAdd = calculator.Calculate(new Addition(), 10, 5); |
| 17 | + System.out.println("Suma: " + resultAdd); |
| 18 | + |
| 19 | + double resultSub = calculator.Calculate(new Subtraction(), 10, 5); |
| 20 | + System.out.println("Resta: " + resultSub); |
| 21 | + |
| 22 | + double resultMul = calculator.Calculate(new Multiplication(), 10, 5); |
| 23 | + System.out.println("Multiplicación: " + resultMul); |
| 24 | + |
| 25 | + double resultDiv = calculator.Calculate(new Division(), 10, 5); |
| 26 | + System.out.println("División: " + resultDiv); |
| 27 | + |
| 28 | + double resultPow = calculator.Calculate(new Power(), 2, 3); |
| 29 | + System.out.println("Potencia: " + resultPow); |
| 30 | + } |
11 | 31 | interface Operation{ |
12 | 32 | double function(double num1, double num2); |
13 | 33 | } |
@@ -55,6 +75,29 @@ public double Calculate(Operation operation, double num1, double num2){ |
55 | 75 |
|
56 | 76 |
|
57 | 77 | /*************************** Ejercicio adicional sin ocp(Incorrecto) ***************************/ |
| 78 | + static void calculatorTest(){ |
| 79 | + Calculator calculator = new Calculator(); |
| 80 | + |
| 81 | + double resultAdd = calculator.calculate("sum", 10, 5); |
| 82 | + System.out.println("Suma: " + resultAdd); |
| 83 | + |
| 84 | + double resultSub = calculator.calculate("substract", 10, 5); |
| 85 | + System.out.println("Resta: " + resultSub); |
| 86 | + |
| 87 | + double resultMul = calculator.calculate("multiply", 10, 5); |
| 88 | + System.out.println("Multiplicación: " + resultMul); |
| 89 | + |
| 90 | + double resultDiv = calculator.calculate("divide", 10, 5); |
| 91 | + System.out.println("División: " + resultDiv); |
| 92 | + |
| 93 | + try { |
| 94 | + double resultPow = calculator.calculate("power", 2, 3); |
| 95 | + System.out.println("Potencia: " + resultPow); |
| 96 | + } catch (UnsupportedOperationException e) { |
| 97 | + System.out.println("Error: " + e.getMessage()); |
| 98 | + } |
| 99 | + } |
| 100 | + |
58 | 101 | static class Calculator{ |
59 | 102 | public double calculate(String operation, double num1, double num2){ |
60 | 103 | switch (operation) { |
|
0 commit comments