├── .github └── workflows │ └── testing.yml ├── .gitignore ├── CalculatorReplicaSwiftUI.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm │ │ └── Package.resolved └── xcshareddata │ └── xcschemes │ ├── CalculatorReplicaSwiftUI.xcscheme │ ├── CalculatorReplicaSwiftUIAutomationTests.xcscheme │ └── CalculatorReplicaSwiftUISnapshotTests.xcscheme ├── CalculatorReplicaSwiftUI ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── appIcon.jpg │ │ └── appIcon120.jpg │ └── Contents.json ├── Base.lproj │ └── LaunchScreen.storyboard ├── DependencyInjection │ └── DependencyInjectionFactory.swift ├── Extensions │ ├── Decimal+Digits.swift │ ├── DragGesture+Orientation.swift │ ├── String+Digits.swift │ ├── String+Replacing.swift │ ├── View+Modifiers.swift │ ├── View+TypeErasure.swift │ └── View+Utilities.swift ├── Helpers │ ├── CalculatorConstants.swift │ ├── Formatters │ │ ├── CalculatorResultFormatter.swift │ │ ├── DecimalFormatter.swift │ │ ├── DefaultFormatter.swift │ │ ├── Protocols │ │ │ └── CalculatorResultFormatterProtocol.swift │ │ └── ScientificFormatter.swift │ └── OperationHandler │ │ ├── CalculatorDisplayTrimmer.swift │ │ ├── CalculatorOperationHandler.swift │ │ ├── CalculatorOperationValidator.swift │ │ └── Protocols │ │ ├── CalculatorDisplayTrimmerProtocol.swift │ │ ├── CalculatorOperationHandlerProtocol.swift │ │ └── CalculatorOperationValidatorProtocol.swift ├── Info.plist ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json ├── SceneDelegate.swift ├── Scenes │ └── Calculator │ │ ├── Buttons │ │ ├── CalculatorButton.swift │ │ ├── CalculatorButtonProtocol.swift │ │ ├── CalculatorButtonRepresentable.swift │ │ ├── CalculatorButtonsView.swift │ │ ├── ImageButton │ │ │ ├── CalculatorImageButton.swift │ │ │ ├── CalculatorImageButtonAdapter.swift │ │ │ └── CalculatorImageButtonProtocol.swift │ │ └── TextButton │ │ │ ├── CalculatorTextButton.swift │ │ │ ├── CalculatorTextButtonAdapter.swift │ │ │ └── CalculatorTextButtonProtocol.swift │ │ ├── CalculatorBuilder.swift │ │ ├── CalculatorEnvironmentObject.swift │ │ ├── CalculatorView.swift │ │ ├── Configuration │ │ ├── CalculatorConfiguration.swift │ │ └── CalculatorConfigurationProtocol.swift │ │ ├── Operations │ │ ├── BinaryOperation.swift │ │ ├── CalculatorOperation.swift │ │ └── PendingBinaryOperation.swift │ │ └── ResultDisplay │ │ └── CalculatorResultDisplayView.swift └── ViewModifiers │ └── CalculatorButtonViewModifier.swift ├── CalculatorReplicaSwiftUIAutomationTests ├── Base │ └── AutomationTestCase.swift ├── CalculatorPageModel.swift └── CalculatorReplicaSwiftUIAutomationTests.swift ├── CalculatorReplicaSwiftUISnapshotTests ├── Base │ └── SnapshotTestCase.swift ├── CalculatorImageButtonTests.swift ├── CalculatorReplicaSwiftUISnapshotTestPlan.xctestplan ├── CalculatorResultDisplayViewTests.swift ├── CalculatorTextButtonTests.swift ├── Mocks │ ├── CalculatorButtonProtocolMock.swift │ ├── CalculatorButtonStyleProtocolMock.swift │ ├── CalculatorImageButtonProtocolMock.swift │ └── CalculatorTextButtonProtocolMock.swift └── __Snapshots__ │ ├── CalculatorImageButtonLegacyTests │ ├── testCalculatorImageButton.1.png │ └── testCalculatorImageButtonExpandedGridSpace.1.png │ ├── CalculatorImageButtonTests │ ├── testCalculatorImageButton.1.png │ └── testCalculatorImageButtonExpandedGridSpace.1.png │ ├── CalculatorResultDisplayViewTests │ └── testResultDisplayView.1.png │ ├── CalculatorTextButtonLegacyTests │ ├── testCalculatorTextButton.1.png │ └── testCalculatorTextButtonExpandedGridSpace.1.png │ └── CalculatorTextButtonTests │ ├── testCalculatorTextButton.1.png │ └── testCalculatorTextButtonExpandedGridSpace.1.png ├── CalculatorReplicaSwiftUITests ├── CalculatorButtonTests.swift ├── CalculatorConstantsTests.swift ├── CalculatorEnvironmentObjectTests.swift ├── CalculatorIntegrationTests.swift ├── CalculatorOperationValidatorTests.swift ├── CalculatorResultFormatterTests.swift ├── Factories │ └── CalculatorInputFactory.swift ├── Info.plist ├── Mocks │ ├── CalculatorConfigurationMock.swift │ ├── CalculatorOperationHandlerMock.swift │ ├── CalculatorOperationValidatorMock.swift │ └── CalculatorResultFormatterMock.swift ├── PendingBinaryOperationTests.swift └── StringExtensionTests.swift ├── Demo.gif ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── Screenshots └── Main.png └── fastlane ├── Appfile ├── Fastfile └── README.md /.github/workflows/testing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/.github/workflows/testing.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/.gitignore -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI.xcodeproj/xcshareddata/xcschemes/CalculatorReplicaSwiftUI.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI.xcodeproj/xcshareddata/xcschemes/CalculatorReplicaSwiftUI.xcscheme -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI.xcodeproj/xcshareddata/xcschemes/CalculatorReplicaSwiftUIAutomationTests.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI.xcodeproj/xcshareddata/xcschemes/CalculatorReplicaSwiftUIAutomationTests.xcscheme -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI.xcodeproj/xcshareddata/xcschemes/CalculatorReplicaSwiftUISnapshotTests.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI.xcodeproj/xcshareddata/xcschemes/CalculatorReplicaSwiftUISnapshotTests.xcscheme -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/AppDelegate.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Assets.xcassets/AppIcon.appiconset/appIcon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Assets.xcassets/AppIcon.appiconset/appIcon.jpg -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Assets.xcassets/AppIcon.appiconset/appIcon120.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Assets.xcassets/AppIcon.appiconset/appIcon120.jpg -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/DependencyInjection/DependencyInjectionFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/DependencyInjection/DependencyInjectionFactory.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Extensions/Decimal+Digits.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Extensions/Decimal+Digits.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Extensions/DragGesture+Orientation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Extensions/DragGesture+Orientation.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Extensions/String+Digits.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Extensions/String+Digits.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Extensions/String+Replacing.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Extensions/String+Replacing.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Extensions/View+Modifiers.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Extensions/View+Modifiers.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Extensions/View+TypeErasure.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Extensions/View+TypeErasure.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Extensions/View+Utilities.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Extensions/View+Utilities.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/CalculatorConstants.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/CalculatorConstants.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/Formatters/CalculatorResultFormatter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/Formatters/CalculatorResultFormatter.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/Formatters/DecimalFormatter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/Formatters/DecimalFormatter.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/Formatters/DefaultFormatter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/Formatters/DefaultFormatter.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/Formatters/Protocols/CalculatorResultFormatterProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/Formatters/Protocols/CalculatorResultFormatterProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/Formatters/ScientificFormatter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/Formatters/ScientificFormatter.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorDisplayTrimmer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorDisplayTrimmer.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationHandler.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationHandler.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationValidator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/OperationHandler/CalculatorOperationValidator.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/OperationHandler/Protocols/CalculatorDisplayTrimmerProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/OperationHandler/Protocols/CalculatorDisplayTrimmerProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/OperationHandler/Protocols/CalculatorOperationHandlerProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/OperationHandler/Protocols/CalculatorOperationHandlerProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Helpers/OperationHandler/Protocols/CalculatorOperationValidatorProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Helpers/OperationHandler/Protocols/CalculatorOperationValidatorProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Info.plist -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/SceneDelegate.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButton.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButtonProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButtonProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButtonRepresentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButtonRepresentable.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButtonsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/CalculatorButtonsView.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButton.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButtonAdapter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButtonAdapter.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButtonProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButtonProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButton.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButtonAdapter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButtonAdapter.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButtonProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButtonProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/CalculatorBuilder.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/CalculatorBuilder.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/CalculatorEnvironmentObject.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/CalculatorEnvironmentObject.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/CalculatorView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/CalculatorView.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Configuration/CalculatorConfiguration.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Configuration/CalculatorConfiguration.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Configuration/CalculatorConfigurationProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Configuration/CalculatorConfigurationProtocol.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/BinaryOperation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/BinaryOperation.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/CalculatorOperation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/CalculatorOperation.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/PendingBinaryOperation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/Operations/PendingBinaryOperation.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/Scenes/Calculator/ResultDisplay/CalculatorResultDisplayView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/Scenes/Calculator/ResultDisplay/CalculatorResultDisplayView.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUI/ViewModifiers/CalculatorButtonViewModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUI/ViewModifiers/CalculatorButtonViewModifier.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUIAutomationTests/Base/AutomationTestCase.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUIAutomationTests/Base/AutomationTestCase.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUIAutomationTests/CalculatorPageModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUIAutomationTests/CalculatorPageModel.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUIAutomationTests/CalculatorReplicaSwiftUIAutomationTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUIAutomationTests/CalculatorReplicaSwiftUIAutomationTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/Base/SnapshotTestCase.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/Base/SnapshotTestCase.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/CalculatorImageButtonTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/CalculatorImageButtonTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/CalculatorReplicaSwiftUISnapshotTestPlan.xctestplan: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/CalculatorReplicaSwiftUISnapshotTestPlan.xctestplan -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/CalculatorResultDisplayViewTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/CalculatorResultDisplayViewTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/CalculatorTextButtonTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/CalculatorTextButtonTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorButtonProtocolMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorButtonProtocolMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorButtonStyleProtocolMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorButtonStyleProtocolMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorImageButtonProtocolMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorImageButtonProtocolMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorTextButtonProtocolMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/Mocks/CalculatorTextButtonProtocolMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonLegacyTests/testCalculatorImageButton.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonLegacyTests/testCalculatorImageButton.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonLegacyTests/testCalculatorImageButtonExpandedGridSpace.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonLegacyTests/testCalculatorImageButtonExpandedGridSpace.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonTests/testCalculatorImageButton.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonTests/testCalculatorImageButton.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonTests/testCalculatorImageButtonExpandedGridSpace.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorImageButtonTests/testCalculatorImageButtonExpandedGridSpace.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorResultDisplayViewTests/testResultDisplayView.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorResultDisplayViewTests/testResultDisplayView.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonLegacyTests/testCalculatorTextButton.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonLegacyTests/testCalculatorTextButton.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonLegacyTests/testCalculatorTextButtonExpandedGridSpace.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonLegacyTests/testCalculatorTextButtonExpandedGridSpace.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonTests/testCalculatorTextButton.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonTests/testCalculatorTextButton.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonTests/testCalculatorTextButtonExpandedGridSpace.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUISnapshotTests/__Snapshots__/CalculatorTextButtonTests/testCalculatorTextButtonExpandedGridSpace.1.png -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/CalculatorButtonTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/CalculatorButtonTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/CalculatorConstantsTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/CalculatorConstantsTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/CalculatorEnvironmentObjectTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/CalculatorEnvironmentObjectTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/CalculatorIntegrationTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/CalculatorIntegrationTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/CalculatorOperationValidatorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/CalculatorOperationValidatorTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/CalculatorResultFormatterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/CalculatorResultFormatterTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/Factories/CalculatorInputFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/Factories/CalculatorInputFactory.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/Info.plist -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/Mocks/CalculatorConfigurationMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/Mocks/CalculatorConfigurationMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/Mocks/CalculatorOperationHandlerMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/Mocks/CalculatorOperationHandlerMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/Mocks/CalculatorOperationValidatorMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/Mocks/CalculatorOperationValidatorMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/Mocks/CalculatorResultFormatterMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/Mocks/CalculatorResultFormatterMock.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/PendingBinaryOperationTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/PendingBinaryOperationTests.swift -------------------------------------------------------------------------------- /CalculatorReplicaSwiftUITests/StringExtensionTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/CalculatorReplicaSwiftUITests/StringExtensionTests.swift -------------------------------------------------------------------------------- /Demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/Demo.gif -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "fastlane" 4 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/README.md -------------------------------------------------------------------------------- /Screenshots/Main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/Screenshots/Main.png -------------------------------------------------------------------------------- /fastlane/Appfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/fastlane/Appfile -------------------------------------------------------------------------------- /fastlane/Fastfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/fastlane/Fastfile -------------------------------------------------------------------------------- /fastlane/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeluxeAlonso/CalculatorReplicaSwiftUI/HEAD/fastlane/README.md --------------------------------------------------------------------------------