|
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