Skip to content

Commit f37e585

Browse files
author
Chris Mark
committed
Merge pull request #11 from brianmuse/feature/user-org-touchups
Feature: Adding equals/hashcode methods and test coverage to UserOrg model
2 parents 9765a9c + 86f4f24 commit f37e585

File tree

4 files changed

+70
-8
lines changed

4 files changed

+70
-8
lines changed

src/main/java/com/robinpowered/sdk/model/UserAccess.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
package com.robinpowered.sdk.model;
22

3+
import com.google.common.base.Objects;
4+
5+
/**
6+
* Defines a users level of access with a {@link UserOrganization}.
7+
*/
38
public class UserAccess {
49

5-
private Integer managementLevel;
6-
private Boolean isOwner;
10+
private final Integer managementLevel;
11+
private final Boolean isOwner;
712

813
public UserAccess(Integer managementLevel, Boolean isOwner) {
914
this.managementLevel = managementLevel;
@@ -18,6 +23,20 @@ public Boolean getOwner() {
1823
return isOwner;
1924
}
2025

26+
@Override
27+
public boolean equals(Object o) {
28+
if (this == o) return true;
29+
if (o == null || getClass() != o.getClass()) return false;
30+
UserAccess that = (UserAccess) o;
31+
return Objects.equal(managementLevel, that.managementLevel) &&
32+
Objects.equal(isOwner, that.isOwner);
33+
}
34+
35+
@Override
36+
public int hashCode() {
37+
return Objects.hashCode(managementLevel, isOwner);
38+
}
39+
2140
@Override
2241
public String toString() {
2342
return "UserAccess{" +

src/main/java/com/robinpowered/sdk/model/UserOrganization.java

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package com.robinpowered.sdk.model;
22

3+
import com.google.common.base.Objects;
34
import org.joda.time.DateTime;
45

56
/**
6-
* An {@link Organization} containing {@link UserAccess} data.
7+
* An {@link Organization} entity that represents a user's membership, containing the {@link UserAccess} model.
78
*/
89
public class UserOrganization extends Organization {
910

@@ -18,7 +19,7 @@ public class UserOrganization extends Organization {
1819
* Properties
1920
*/
2021

21-
private UserAccess userAccess;
22+
private final UserAccess userAccess;
2223

2324

2425
/**
@@ -32,17 +33,31 @@ public UserOrganization(int id, String slug, boolean isOrganization, DateTime cr
3233
this.userAccess = userAccess;
3334
}
3435

36+
public UserAccess getUserAccess() {
37+
return userAccess;
38+
}
39+
3540
@Override
3641
public String getMimeType() {
3742
return MIME_TYPE;
3843
}
3944

4045
@Override
41-
public String toString() {
42-
return super.toString() + " " + userAccess.toString();
46+
public boolean equals(Object o) {
47+
if (this == o) return true;
48+
if (o == null || getClass() != o.getClass()) return false;
49+
if (!super.equals(o)) return false;
50+
UserOrganization that = (UserOrganization) o;
51+
return Objects.equal(userAccess, that.userAccess);
4352
}
4453

45-
public UserAccess getUserAccess() {
46-
return userAccess;
54+
@Override
55+
public int hashCode() {
56+
return Objects.hashCode(super.hashCode(), userAccess);
57+
}
58+
59+
@Override
60+
public String toString() {
61+
return super.toString() + " " + userAccess.toString();
4762
}
4863
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.robinpowered.sdk.model;
2+
3+
import nl.jqno.equalsverifier.EqualsVerifier;
4+
import org.junit.Test;
5+
6+
public class UserAccessTest {
7+
8+
@Test
9+
public void testEqualsAndHashcode() {
10+
EqualsVerifier.forClass(UserAccess.class)
11+
.usingGetClass()
12+
.verify();
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.robinpowered.sdk.model;
2+
3+
import nl.jqno.equalsverifier.EqualsVerifier;
4+
import org.junit.Test;
5+
6+
public class UserOrganizationTest {
7+
8+
@Test
9+
public void testEqualsAndHashcode() {
10+
EqualsVerifier.forClass(UserOrganization.class)
11+
.usingGetClass()
12+
.verify();
13+
}
14+
}

0 commit comments

Comments
 (0)