Skip to content

Commit b860d34

Browse files
committed
Update tests, use reflections lib to get all model and response classes
1 parent 714993d commit b860d34

File tree

3 files changed

+24
-56
lines changed

3 files changed

+24
-56
lines changed

library/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dependencies {
1616

1717
testCompile 'junit:junit:4.12'
1818
testCompile 'nl.jqno.equalsverifier:equalsverifier:2.3'
19+
testCompile 'org.reflections:reflections:0.9.11'
1920
}
2021

2122
jacoco {

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

Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
package com.pengrad.telegrambot;
22

3-
import com.pengrad.telegrambot.model.*;
3+
import com.pengrad.telegrambot.model.Animation;
4+
import com.pengrad.telegrambot.model.CallbackQuery;
5+
import com.pengrad.telegrambot.model.Message;
6+
import com.pengrad.telegrambot.model.Update;
47
import nl.jqno.equalsverifier.EqualsVerifier;
58
import nl.jqno.equalsverifier.Warning;
69
import org.junit.Before;
710
import org.junit.Test;
11+
import org.reflections.Reflections;
12+
import org.reflections.scanners.SubTypesScanner;
813

914
import java.lang.reflect.Field;
1015
import java.lang.reflect.Modifier;
16+
import java.util.Set;
17+
import java.util.stream.Collectors;
1118

1219
import static org.junit.Assert.assertTrue;
1320

@@ -17,47 +24,17 @@
1724
*/
1825
public class ModelTest {
1926

20-
private Class[] classes;
27+
private Set<Class> classes;
2128

2229
@Before
2330
public void setClasses() {
24-
classes = new Class[]{
25-
Animation.class,
26-
Audio.class,
27-
CallbackQuery.class,
28-
Chat.class,
29-
ChatMember.class,
30-
ChatPhoto.class,
31-
ChosenInlineResult.class,
32-
Contact.class,
33-
Document.class,
34-
File.class,
35-
Game.class,
36-
GameHighScore.class,
37-
InlineQuery.class,
38-
Invoice.class,
39-
Location.class,
40-
MaskPosition.class,
41-
Message.class,
42-
MessageEntity.class,
43-
OrderInfo.class,
44-
PhotoSize.class,
45-
PreCheckoutQuery.class,
46-
ResponseParameters.class,
47-
ShippingAddress.class,
48-
ShippingQuery.class,
49-
Sticker.class,
50-
StickerSet.class,
51-
SuccessfulPayment.class,
52-
Update.class,
53-
User.class,
54-
UserProfilePhotos.class,
55-
Venue.class,
56-
Video.class,
57-
VideoNote.class,
58-
Voice.class,
59-
WebhookInfo.class
60-
};
31+
String modelPackage = Animation.class.getPackage().getName();
32+
Reflections reflections = new Reflections(modelPackage, new SubTypesScanner(false));
33+
Set<Class<?>> allSubPackageClasses = reflections.getSubTypesOf(Object.class);
34+
classes = allSubPackageClasses
35+
.stream()
36+
.filter(c -> c.getPackage().getName().equals(modelPackage))
37+
.collect(Collectors.toSet());
6138
}
6239

6340
@Test

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

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package com.pengrad.telegrambot;
22

3-
import com.pengrad.telegrambot.response.*;
3+
import com.pengrad.telegrambot.response.BaseResponse;
44
import org.junit.Before;
55
import org.junit.Test;
6+
import org.reflections.Reflections;
67

78
import java.lang.reflect.Constructor;
89
import java.lang.reflect.Field;
910
import java.lang.reflect.InvocationTargetException;
1011
import java.lang.reflect.Modifier;
12+
import java.util.Set;
1113

1214
import static org.junit.Assert.assertTrue;
1315

@@ -17,25 +19,13 @@
1719
*/
1820
public class ResponseTest {
1921

20-
private Class[] classes;
22+
private Set<Class<? extends BaseResponse>> classes;
2123

2224
@Before
2325
public void setClasses() {
24-
classes = new Class[]{
25-
BaseResponse.class,
26-
GetChatAdministratorsResponse.class,
27-
GetChatMemberResponse.class,
28-
GetChatMembersCountResponse.class,
29-
GetChatResponse.class,
30-
GetFileResponse.class,
31-
GetGameHighScoresResponse.class,
32-
GetMeResponse.class,
33-
GetUpdatesResponse.class,
34-
GetUserProfilePhotosResponse.class,
35-
GetWebhookInfoResponse.class,
36-
SendResponse.class,
37-
StringResponse.class
38-
};
26+
Reflections reflections = new Reflections(BaseResponse.class.getPackage().getName());
27+
classes = reflections.getSubTypesOf(BaseResponse.class);
28+
classes.add(BaseResponse.class);
3929
}
4030

4131
@Test

0 commit comments

Comments
 (0)