Skip to content

Commit 6eed2bf

Browse files
committed
Add unknown political party closes #42
1 parent 76284fd commit 6eed2bf

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

RepresentsMe/Models/PoliticalParty.swift

+12-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ class PoliticalParty: Equatable {
3030
name: "Democrat",
3131
color: PoliticalParty.LIGHT_BLUE,
3232
aliases: ["Democrat", "Democratic", "Democratic Party"])
33-
static let nonpartisan = PoliticalParty(name: "Nonpartisan", color: .black)
33+
static let nonpartisan = PoliticalParty(
34+
name: "Nonpartisan",
35+
color: .black,
36+
aliases: ["Nonpartisan", "none"])
37+
static let unknown = PoliticalParty(name: "Unknown", color: .black)
3438

3539
var name:String // The name to display
3640
var image:UIImage // The default image to use
@@ -48,7 +52,7 @@ class PoliticalParty: Equatable {
4852
style: .solid,
4953
textColor: color,
5054
size: PORTRAIT_SIZE)
51-
self.aliases = aliases
55+
self.aliases = aliases.map {$0.lowercased()}
5256
}
5357

5458
/// Determines the PoliticalParty given an alias for the party.
@@ -57,6 +61,7 @@ class PoliticalParty: Equatable {
5761
///
5862
/// - Returns: the PoliticalParty matching the given alias
5963
static func determine(for alias:String) -> PoliticalParty {
64+
let alias = alias.lowercased()
6065
if PoliticalParty.republican.aliases.contains(alias) {
6166
return PoliticalParty.republican
6267
}
@@ -65,7 +70,11 @@ class PoliticalParty: Equatable {
6570
return PoliticalParty.democratic
6671
}
6772

68-
return nonpartisan
73+
if PoliticalParty.nonpartisan.aliases.contains(alias) {
74+
return PoliticalParty.nonpartisan
75+
}
76+
77+
return PoliticalParty.unknown
6978
}
7079

7180
/// Compares two political parties for equality

0 commit comments

Comments
 (0)