Skip to content

Commit 4c2a750

Browse files
committed
Adding equals/hashcode methods, as well as test coverage
1 parent 9765a9c commit 4c2a750

File tree

4 files changed

+67
-5
lines changed

4 files changed

+67
-5
lines changed

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
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

510
private Integer 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: 20 additions & 5 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

@@ -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)