Skip to content

Commit

Permalink
add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
vermont42 committed May 22, 2019
1 parent 1b7a0f5 commit 3e3186b
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 8 deletions.
8 changes: 8 additions & 0 deletions Conjugar.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

/* Begin PBXBuildFile section */
03533491228B7B0900046CCC /* UserDefaultsGetterSetterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03533490228B7B0900046CCC /* UserDefaultsGetterSetterTests.swift */; };
03533493228DA52400046CCC /* ResultCellTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03533492228DA52400046CCC /* ResultCellTests.swift */; };
035334B5229608AA00046CCC /* UIColorExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035334B4229608AA00046CCC /* UIColorExtension.swift */; };
035C646F22299A7E001ECC02 /* RatingsFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035C646E22299A7E001ECC02 /* RatingsFetcher.swift */; };
038E03132270A868005CFC96 /* IntExtensionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 038E03122270A868005CFC96 /* IntExtensionTests.swift */; };
038E03152270A9FB005CFC96 /* TestGameCenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 038E03142270A9FB005CFC96 /* TestGameCenterTests.swift */; };
Expand Down Expand Up @@ -159,6 +161,8 @@

/* Begin PBXFileReference section */
03533490228B7B0900046CCC /* UserDefaultsGetterSetterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsGetterSetterTests.swift; sourceTree = "<group>"; };
03533492228DA52400046CCC /* ResultCellTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResultCellTests.swift; sourceTree = "<group>"; };
035334B4229608AA00046CCC /* UIColorExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColorExtension.swift; sourceTree = "<group>"; };
035C646E22299A7E001ECC02 /* RatingsFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RatingsFetcher.swift; sourceTree = "<group>"; };
038E03122270A868005CFC96 /* IntExtensionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntExtensionTests.swift; sourceTree = "<group>"; };
038E03142270A9FB005CFC96 /* TestGameCenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestGameCenterTests.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -461,6 +465,7 @@
isa = PBXGroup;
children = (
E15D3BF51F533997003771BB /* MockNavigationC.swift */,
035334B4229608AA00046CCC /* UIColorExtension.swift */,
);
path = Helpers;
sourceTree = "<group>";
Expand All @@ -477,6 +482,7 @@
E198F9001F5D79BA00BAF553 /* Views */ = {
isa = PBXGroup;
children = (
03533492228DA52400046CCC /* ResultCellTests.swift */,
E198F9011F5D79F100BAF553 /* VerbViewTests.swift */,
E12D06A21F5E85A200CDD54E /* VerbCellTests.swift */,
);
Expand Down Expand Up @@ -874,9 +880,11 @@
E151223121A62AE9008EF307 /* ReviewPrompterTests.swift in Sources */,
E1DC939521B5836400DD4048 /* QuizTests.swift in Sources */,
038E032E228A2F18005CFC96 /* PersonNumberTests.swift in Sources */,
03533493228DA52400046CCC /* ResultCellTests.swift in Sources */,
038E032A227CD8B7005CFC96 /* UIAlertControllerExtensionTests.swift in Sources */,
E198F9051F5D7CB200BAF553 /* ConjugatorTests.swift in Sources */,
E1EC70F22198A10B00872787 /* UIViewControllerExtensions.swift in Sources */,
035334B5229608AA00046CCC /* UIColorExtension.swift in Sources */,
03533491228B7B0900046CCC /* UserDefaultsGetterSetterTests.swift in Sources */,
038E0330228B0429005CFC96 /* TenseTests.swift in Sources */,
E14589F41F5B7BB000EEF141 /* BrowseInfoVCTests.swift in Sources */,
Expand Down
15 changes: 7 additions & 8 deletions Conjugar/ResultCell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import UIKit
class ResultCell: UITableViewCell {
static let identifier = "ResultCell"

private let verb = UILabel()
private let tensePersonNumber = UILabel()
private let correctAnswer = UILabel()
private let proposedAnswer = UILabel()
let verb = UILabel()
let tensePersonNumber = UILabel()
let correctAnswer = UILabel()
let proposedAnswer = UILabel()

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented.")
Expand Down Expand Up @@ -45,10 +45,9 @@ class ResultCell: UITableViewCell {
self.verb.text = verb.lowercased()
tensePersonNumber.text = "\(tense.displayName), \(personNumber.shortDisplayName)"
self.correctAnswer.attributedText = correctAnswer.conjugatedString
if correctAnswer.lowercased() == proposedAnswer.lowercased() {
self.proposedAnswer.text = proposedAnswer.lowercased()
} else {
self.proposedAnswer.attributedText = proposedAnswer.coloredString(color: Colors.blue)
self.proposedAnswer.text = proposedAnswer.lowercased()
if correctAnswer.lowercased() != proposedAnswer.lowercased() {
self.proposedAnswer.textColor = Colors.blue
}
}
}
19 changes: 19 additions & 0 deletions ConjugarTests/Helpers/UIColorExtension.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// UIColorExtension.swift
// ConjugarTests
//
// Created by Joshua Adams on 5/22/19.
// Borrowed from: https://stackoverflow.com/a/48610603/8248798
//

import UIKit

extension UIColor {
static func == (l: UIColor, r: UIColor) -> Bool {
var l_red = CGFloat(0); var l_green = CGFloat(0); var l_blue = CGFloat(0); var l_alpha = CGFloat(0)
guard l.getRed(&l_red, green: &l_green, blue: &l_blue, alpha: &l_alpha) else { return false }
var r_red = CGFloat(0); var r_green = CGFloat(0); var r_blue = CGFloat(0); var r_alpha = CGFloat(0)
guard r.getRed(&r_red, green: &r_green, blue: &r_blue, alpha: &r_alpha) else { return false }
return l_red == r_red && l_green == r_green && l_blue == r_blue && l_alpha == r_alpha
}
}
29 changes: 29 additions & 0 deletions ConjugarTests/Views/ResultCellTests.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
//
// ResultCellTests.swift
// ConjugarTests
//
// Created by Joshua Adams on 5/16/19.
// Copyright © 2019 Josh Adams. All rights reserved.
//

import XCTest
@testable import Conjugar

class ResultCellTests: XCTestCase {
func testResultCell() {
let cell = ResultCell(style: .default, reuseIdentifier: "cell")
cell.configure(verb: "dar", tense: .presenteDeIndicativo, personNumber: .firstSingular, correctAnswer: "doy", proposedAnswer: "doy")
XCTAssertEqual(cell.verb.text, "dar")
XCTAssertEqual(cell.tensePersonNumber.text, "presente de indicativo, 1S")
XCTAssertEqual(cell.correctAnswer.text, "doy")
XCTAssertEqual(cell.proposedAnswer.text, "doy")
XCTAssert(cell.proposedAnswer.textColor == Colors.yellow)

cell.configure(verb: "dar", tense: .presenteDeIndicativo, personNumber: .firstSingular, correctAnswer: "doy", proposedAnswer: "do")
XCTAssertEqual(cell.verb.text, "dar")
XCTAssertEqual(cell.tensePersonNumber.text, "presente de indicativo, 1S")
XCTAssertEqual(cell.correctAnswer.text, "doy")
XCTAssertEqual(cell.proposedAnswer.text, "do")
XCTAssert(cell.proposedAnswer.textColor == Colors.blue)
}
}

0 comments on commit 3e3186b

Please sign in to comment.