Repository navigation
Expand file tree
/
Copy pathUserKickerTest.java
More file actions
61 lines (51 loc) · 1.65 KB
/
Copy pathUserKickerTest.java
File metadata and controls
61 lines (51 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package utils;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.lang.reflect.Field;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class UserKickerTest {
@BeforeEach
void resetKickList() throws Exception {
Field field = UserKicker.class.getDeclaredField("kickTheseUsers");
field.setAccessible(true);
((List<?>) field.get(null)).clear();
}
@Test
void shouldKickUser_emptyList() {
assertFalse(UserKicker.shouldKickUser("alice"));
}
@Test
void addAndCheck_userIsOnList() {
UserKicker.addUserToKickList("bob");
assertTrue(UserKicker.shouldKickUser("bob"));
}
@Test
void addAndCheck_otherUserNotOnList() {
UserKicker.addUserToKickList("bob");
assertFalse(UserKicker.shouldKickUser("alice"));
}
@Test
void removeFromKicklist_removesUser() {
UserKicker.addUserToKickList("carol");
assertTrue(UserKicker.shouldKickUser("carol"));
UserKicker.removeFromKicklist("carol");
assertFalse(UserKicker.shouldKickUser("carol"));
}
@Test
void removeFromKicklist_nonexistentUserNoOp() {
UserKicker.removeFromKicklist("nobody");
assertFalse(UserKicker.shouldKickUser("nobody"));
}
@Test
void multipleUsers_independentTracking() {
UserKicker.addUserToKickList("alice");
UserKicker.addUserToKickList("bob");
assertTrue(UserKicker.shouldKickUser("alice"));
assertTrue(UserKicker.shouldKickUser("bob"));
UserKicker.removeFromKicklist("alice");
assertFalse(UserKicker.shouldKickUser("alice"));
assertTrue(UserKicker.shouldKickUser("bob"));
}
}