Skip to content

Commit

Permalink
Merge pull request #86 from DeluxeAlonso/feature/improvements
Browse files Browse the repository at this point in the history
Feature/improvements
  • Loading branch information
DeluxeAlonso committed Jan 10, 2024
2 parents e89bf89 + b9823f8 commit e846054
Show file tree
Hide file tree
Showing 11 changed files with 156 additions and 8 deletions.
20 changes: 20 additions & 0 deletions CalculatorReplicaSwiftUI.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@
E24E84C0244276E8007AC7AE /* CalculatorResultDisplayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E24E84BF244276E8007AC7AE /* CalculatorResultDisplayView.swift */; };
E256231124427A3E00AA7CD0 /* CalculatorButtonViewLegacy.swift in Sources */ = {isa = PBXBuildFile; fileRef = E256231024427A3E00AA7CD0 /* CalculatorButtonViewLegacy.swift */; };
E256231324427BB400AA7CD0 /* CalculatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E256231224427BB400AA7CD0 /* CalculatorView.swift */; };
E2608A522B4E60CB00060A20 /* CalculatorImageButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2608A512B4E60CB00060A20 /* CalculatorImageButtonTests.swift */; };
E2608A542B4E619F00060A20 /* CalculatorImageButtonProtocolMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2608A532B4E619F00060A20 /* CalculatorImageButtonProtocolMock.swift */; };
E2608A562B4E61B800060A20 /* CalculatorButtonStyleProtocolMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2608A552B4E61B800060A20 /* CalculatorButtonStyleProtocolMock.swift */; };
E2608A582B4E634000060A20 /* CalculatorTextButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2608A572B4E634000060A20 /* CalculatorTextButtonTests.swift */; };
E2608A5A2B4E63B300060A20 /* CalculatorTextButtonProtocolMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2608A592B4E63B300060A20 /* CalculatorTextButtonProtocolMock.swift */; };
E263ED6A244AA99D0001C89B /* String+Digits.swift in Sources */ = {isa = PBXBuildFile; fileRef = E263ED69244AA99D0001C89B /* String+Digits.swift */; };
E263ED6C244ACE260001C89B /* Decimal+Digits.swift in Sources */ = {isa = PBXBuildFile; fileRef = E263ED6B244ACE260001C89B /* Decimal+Digits.swift */; };
E2654C6C244D5304005BA7EC /* CalculatorOperationValidatorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2654C6B244D5304005BA7EC /* CalculatorOperationValidatorProtocol.swift */; };
Expand Down Expand Up @@ -105,6 +110,11 @@
E24E84BF244276E8007AC7AE /* CalculatorResultDisplayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorResultDisplayView.swift; sourceTree = "<group>"; };
E256231024427A3E00AA7CD0 /* CalculatorButtonViewLegacy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorButtonViewLegacy.swift; sourceTree = "<group>"; };
E256231224427BB400AA7CD0 /* CalculatorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorView.swift; sourceTree = "<group>"; };
E2608A512B4E60CB00060A20 /* CalculatorImageButtonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorImageButtonTests.swift; sourceTree = "<group>"; };
E2608A532B4E619F00060A20 /* CalculatorImageButtonProtocolMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorImageButtonProtocolMock.swift; sourceTree = "<group>"; };
E2608A552B4E61B800060A20 /* CalculatorButtonStyleProtocolMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorButtonStyleProtocolMock.swift; sourceTree = "<group>"; };
E2608A572B4E634000060A20 /* CalculatorTextButtonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorTextButtonTests.swift; sourceTree = "<group>"; };
E2608A592B4E63B300060A20 /* CalculatorTextButtonProtocolMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorTextButtonProtocolMock.swift; sourceTree = "<group>"; };
E263ED69244AA99D0001C89B /* String+Digits.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Digits.swift"; sourceTree = "<group>"; };
E263ED6B244ACE260001C89B /* Decimal+Digits.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Decimal+Digits.swift"; sourceTree = "<group>"; };
E2654C6B244D5304005BA7EC /* CalculatorOperationValidatorProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalculatorOperationValidatorProtocol.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -195,6 +205,8 @@
E215DE2C2B018CAE00670876 /* Mocks */,
E215DE2D2B018DA100670876 /* CalculatorImageButtonLegacyTests.swift */,
E215DE302B019BBC00670876 /* CalculatorTextButtonLegacyTests.swift */,
E2608A512B4E60CB00060A20 /* CalculatorImageButtonTests.swift */,
E2608A572B4E634000060A20 /* CalculatorTextButtonTests.swift */,
);
path = CalculatorReplicaSwiftUISnapshotTests;
sourceTree = "<group>";
Expand All @@ -210,6 +222,9 @@
isa = PBXGroup;
children = (
E215DDFE2B018B5B00670876 /* CalculatorButtonProtocolMock.swift */,
E2608A532B4E619F00060A20 /* CalculatorImageButtonProtocolMock.swift */,
E2608A552B4E61B800060A20 /* CalculatorButtonStyleProtocolMock.swift */,
E2608A592B4E63B300060A20 /* CalculatorTextButtonProtocolMock.swift */,
);
path = Mocks;
sourceTree = "<group>";
Expand Down Expand Up @@ -619,8 +634,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E2608A5A2B4E63B300060A20 /* CalculatorTextButtonProtocolMock.swift in Sources */,
E215DE312B019BBC00670876 /* CalculatorTextButtonLegacyTests.swift in Sources */,
E215DE2E2B018DA100670876 /* CalculatorImageButtonLegacyTests.swift in Sources */,
E2608A582B4E634000060A20 /* CalculatorTextButtonTests.swift in Sources */,
E2608A522B4E60CB00060A20 /* CalculatorImageButtonTests.swift in Sources */,
E2608A562B4E61B800060A20 /* CalculatorButtonStyleProtocolMock.swift in Sources */,
E2608A542B4E619F00060A20 /* CalculatorImageButtonProtocolMock.swift in Sources */,
E215DE2F2B018EBF00670876 /* CalculatorButtonProtocolMock.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//
// CalculatorImageButtonTests.swift
// CalculatorReplicaSwiftUISnapshotTests
//
// Created by Alonso on 10/01/24.
// Copyright © 2024 Alonso. All rights reserved.
//

@testable import Calculator
import SnapshotTesting
import XCTest

final class CalculatorImageButtonTests: XCTestCase {

func testCalculatorImageButton() {
let imageButton = CalculatorImageButtonProtocolMock()
let style = CalculatorButtonStyleProtocolMock()
style.gridSpace = 1

imageButton.style = style
imageButton.imageName = "plus"

let view = CalculatorImageButton(button: imageButton)
assertSnapshot(of: view, as: .image)
}

func testCalculatorImageButtonExpandedGridSpace() {
let imageButton = CalculatorImageButtonProtocolMock()
let style = CalculatorButtonStyleProtocolMock()
style.gridSpace = 2

imageButton.style = style
imageButton.imageName = "plus"

let view = CalculatorImageButton(button: imageButton)
assertSnapshot(of: view, as: .image)
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//
// CalculatorTextButtonTests.swift
// CalculatorReplicaSwiftUISnapshotTests
//
// Created by Alonso on 10/01/24.
// Copyright © 2024 Alonso. All rights reserved.
//

@testable import Calculator
import SnapshotTesting
import XCTest

final class CalculatorTextButtonTests: XCTestCase {

func testCalculatorTextButton() {
let textButton = CalculatorTextButtonProtocolMock()
let style = CalculatorButtonStyleProtocolMock()
style.gridSpace = 1

textButton.style = style
textButton.text = "1"

let view = CalculatorTextButton(button: textButton)
assertSnapshot(of: view, as: .image)
}

func testCalculatorTextButtonExpandedGridSpace() {
let textButton = CalculatorTextButtonProtocolMock()
let style = CalculatorButtonStyleProtocolMock()
style.gridSpace = 2

textButton.style = style
textButton.text = "1"

let view = CalculatorTextButton(button: textButton)
assertSnapshot(of: view, as: .image)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,3 @@ final class CalculatorButtonProtocolMock: CalculatorButtonProtocol {

var shouldShowOnResultDisplay: Bool = true
}

final class CalculatorButtonStyleProtocolMock: CalculatorButtonStyleProtocol {
var gridSpace: Int = 0

var tintColor: Color = .primary

var backgroundColor: Color = .accentColor
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// CalculatorButtonStyleProtocolMock.swift
// CalculatorReplicaSwiftUISnapshotTests
//
// Created by Alonso on 10/01/24.
// Copyright © 2024 Alonso. All rights reserved.
//

import SwiftUI
@testable import Calculator

final class CalculatorButtonStyleProtocolMock: CalculatorButtonStyleProtocol {
var gridSpace: Int = 0

var tintColor: Color = .primary

var backgroundColor: Color = .accentColor
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//
// CalculatorImageButtonProtocolMock.swift
// CalculatorReplicaSwiftUISnapshotTests
//
// Created by Alonso on 10/01/24.
// Copyright © 2024 Alonso. All rights reserved.
//

import SwiftUI
@testable import Calculator

final class CalculatorImageButtonProtocolMock: CalculatorImageButtonProtocol {
var identifier: String = ""

var imageName: String = ""

var accessibilityLabel: String = ""

var style: CalculatorButtonStyleProtocol = CalculatorButtonStyleProtocolMock()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//
// CalculatorTextButtonProtocolMock.swift
// CalculatorReplicaSwiftUISnapshotTests
//
// Created by Alonso on 10/01/24.
// Copyright © 2024 Alonso. All rights reserved.
//

import SwiftUI
@testable import Calculator

final class CalculatorTextButtonProtocolMock: CalculatorTextButtonProtocol {
var identifier: String = ""

var text: String = ""

var accessibilityLabel: String = ""

var style: CalculatorButtonStyleProtocol = CalculatorButtonStyleProtocolMock()
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e846054

Please sign in to comment.