From de367d32cefc351aeed64a75f10088b0a5d30d26 Mon Sep 17 00:00:00 2001 From: DeluxeAlonso Date: Sun, 7 Jan 2024 00:14:51 -0500 Subject: [PATCH 1/2] Creates PendingBinaryOperationProtocol --- .../Calculator/Operations/PendingBinaryOperation.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/PendingBinaryOperation.swift b/CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/PendingBinaryOperation.swift index 2d31797..4624aec 100644 --- a/CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/PendingBinaryOperation.swift +++ b/CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/PendingBinaryOperation.swift @@ -6,7 +6,14 @@ // Copyright © 2020 Alonso. All rights reserved. // -final class PendingBinaryOperation { +protocol PendingBinaryOperationProtocol { + var hasOperand: Bool { get } + + func setOperand(_ secondOperand: Double) + func perform() -> Double +} + +final class PendingBinaryOperation: PendingBinaryOperationProtocol { private let function: (Double, Double) -> Double private var accumulatedValue: Double private var operand: Double? = nil From f330c21d5af9ec86e2257a0b091532aa38c65386 Mon Sep 17 00:00:00 2001 From: DeluxeAlonso Date: Sun, 7 Jan 2024 00:15:53 -0500 Subject: [PATCH 2/2] Updates CalculatorOperationHandler with PendingBinaryOperationProtocol --- .../Helpers/OperationHandler/CalculatorOperationHandler.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationHandler.swift b/CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationHandler.swift index b3ff466..e8c36d3 100644 --- a/CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationHandler.swift +++ b/CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationHandler.swift @@ -16,7 +16,7 @@ final class CalculatorOperationHadler: CalculatorOperationHandlerProtocol { // MARK: - Stored properties - private var pendingBinaryOperation: PendingBinaryOperation? + private var pendingBinaryOperation: PendingBinaryOperationProtocol? private var isEnteringNumbers: Bool = false private var storedCalculatorDisplay: String = "" { didSet {