Skip to content

Commit 977a08f

Browse files
committed
Fix equals
1 parent cfaefca commit 977a08f

File tree

4 files changed

+20
-29
lines changed

4 files changed

+20
-29
lines changed

library/src/main/java/com/pengrad/telegrambot/model/Birthdate.java

+6-8
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,9 @@ public Integer year() {
2626
@Override
2727
public boolean equals(Object o) {
2828
if (this == o) return true;
29-
if (!(o instanceof Birthdate)) return false;
29+
if (o == null || getClass() != o.getClass()) return false;
3030
Birthdate birthdate = (Birthdate) o;
31-
return Objects.equals(day, birthdate.day)
32-
&& Objects.equals(month, birthdate.month)
33-
&& Objects.equals(year, birthdate.year);
31+
return Objects.equals(day, birthdate.day) && Objects.equals(month, birthdate.month) && Objects.equals(year, birthdate.year);
3432
}
3533

3634
@Override
@@ -41,9 +39,9 @@ public int hashCode() {
4139
@Override
4240
public String toString() {
4341
return "Birthday{" +
44-
"day=" + day +
45-
", month=" + month +
46-
", year=" + year +
47-
'}';
42+
"day=" + day +
43+
", month=" + month +
44+
", year=" + year +
45+
'}';
4846
}
4947
}

library/src/main/java/com/pengrad/telegrambot/model/User.java

+2-13
Original file line numberDiff line numberDiff line change
@@ -81,20 +81,9 @@ public Boolean canConnectToBusiness() {
8181
@Override
8282
public boolean equals(Object o) {
8383
if (this == o) return true;
84-
if (!(o instanceof User)) return false;
84+
if (o == null || getClass() != o.getClass()) return false;
8585
User user = (User) o;
86-
return Objects.equals(id, user.id)
87-
&& Objects.equals(is_bot, user.is_bot)
88-
&& Objects.equals(first_name, user.first_name)
89-
&& Objects.equals(last_name, user.last_name)
90-
&& Objects.equals(username, user.username)
91-
&& Objects.equals(language_code, user.language_code)
92-
&& Objects.equals(is_premium, user.is_premium)
93-
&& Objects.equals(added_to_attachment_menu, user.added_to_attachment_menu)
94-
&& Objects.equals(can_join_groups, user.can_join_groups)
95-
&& Objects.equals(can_read_all_group_messages, user.can_read_all_group_messages)
96-
&& Objects.equals(supports_inline_queries, user.supports_inline_queries)
97-
&& Objects.equals(can_connect_to_business, user.can_connect_to_business);
86+
return Objects.equals(id, user.id) && Objects.equals(is_bot, user.is_bot) && Objects.equals(first_name, user.first_name) && Objects.equals(last_name, user.last_name) && Objects.equals(username, user.username) && Objects.equals(language_code, user.language_code) && Objects.equals(is_premium, user.is_premium) && Objects.equals(added_to_attachment_menu, user.added_to_attachment_menu) && Objects.equals(can_join_groups, user.can_join_groups) && Objects.equals(can_read_all_group_messages, user.can_read_all_group_messages) && Objects.equals(supports_inline_queries, user.supports_inline_queries) && Objects.equals(can_connect_to_business, user.can_connect_to_business);
9887
}
9988

10089
@Override

library/src/main/java/com/pengrad/telegrambot/model/UsersShared.java

+6-8
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,9 @@ public Integer[] userIds() {
3232
@Override
3333
public boolean equals(Object o) {
3434
if (this == o) return true;
35-
if (!(o instanceof UsersShared)) return false;
35+
if (o == null || getClass() != o.getClass()) return false;
3636
UsersShared that = (UsersShared) o;
37-
return Objects.equals(request_id, that.request_id)
38-
&& Arrays.equals(user_ids, that.user_ids)
39-
&& Arrays.equals(users, that.users);
37+
return Objects.equals(request_id, that.request_id) && Arrays.equals(user_ids, that.user_ids) && Arrays.equals(users, that.users);
4038
}
4139

4240
@Override
@@ -50,9 +48,9 @@ public int hashCode() {
5048
@Override
5149
public String toString() {
5250
return "UsersShared{" +
53-
"request_id=" + request_id +
54-
", user_ids=" + Arrays.toString(user_ids) +
55-
", users=" + Arrays.toString(users) +
56-
'}';
51+
"request_id=" + request_id +
52+
", user_ids=" + Arrays.toString(user_ids) +
53+
", users=" + Arrays.toString(users) +
54+
'}';
5755
}
5856
}

library/src/test/java/com/pengrad/telegrambot/ModelTest.java

+6
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,18 @@ public void testEquals() throws ReflectiveOperationException {
7272
f.setAccessible(true);
7373
f.set(update, 1);
7474

75+
Chat chat = new Chat();
76+
f = Chat.class.getDeclaredField("id");
77+
f.setAccessible(true);
78+
f.set(chat, 1L);
79+
7580
for (Class<?> c : classes) {
7681
EqualsVerifierApi<?> verifierApi = EqualsVerifier.forClass(c)
7782
.usingGetClass()
7883
.withPrefabValues(Update.class, Update.class.getDeclaredConstructor().newInstance(), update)
7984
.withPrefabValues(Message.class, Message.class.getDeclaredConstructor().newInstance(), message)
8085
.withPrefabValues(CallbackQuery.class, CallbackQuery.class.getDeclaredConstructor().newInstance(), callbackQuery)
86+
.withPrefabValues(Chat.class, new Chat(), chat)
8187
.suppress(Warning.STRICT_HASHCODE)
8288
.suppress(Warning.NONFINAL_FIELDS);
8389

0 commit comments

Comments
 (0)