Refactor FCP interface test slightly
[Sone.git] / src / test / java / net / pterodactylus / sone / fcp / FcpInterfaceTest.java
1 package net.pterodactylus.sone.fcp;
2
3 import static net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired.ALWAYS;
4 import static net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired.NO;
5 import static net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired.WRITING;
6 import static org.hamcrest.MatcherAssert.assertThat;
7 import static org.hamcrest.Matchers.is;
8
9 import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired;
10 import net.pterodactylus.sone.fcp.event.FcpInterfaceActivatedEvent;
11 import net.pterodactylus.sone.fcp.event.FcpInterfaceDeactivatedEvent;
12 import net.pterodactylus.sone.fcp.event.FullAccessRequiredChanged;
13
14 import org.junit.Test;
15
16 /**
17  * Unit test for {@link FcpInterface} and its subclasses.
18  *
19  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
20  */
21 public class FcpInterfaceTest {
22
23         private final FcpInterface fcpInterface = new FcpInterface(null);
24
25         @Test
26         public void fcpInterfaceCanBeActivated() {
27                 fcpInterface.fcpInterfaceActivated(new FcpInterfaceActivatedEvent());
28                 assertThat(fcpInterface.isActive(), is(true));
29         }
30
31         @Test
32         public void fcpInterfaceCanBeDeactivated() {
33                 fcpInterface.fcpInterfaceDeactivated(new FcpInterfaceDeactivatedEvent());
34                 assertThat(fcpInterface.isActive(), is(false));
35         }
36
37         private void setAndVerifyAccessRequired(FullAccessRequired fullAccessRequired) {
38                 fcpInterface.fullAccessRequiredChanged(new FullAccessRequiredChanged(fullAccessRequired));
39                 assertThat(fcpInterface.getFullAccessRequired(), is(fullAccessRequired));
40         }
41
42         @Test
43         public void setFullAccessRequiredCanSetAccessToNo() {
44                 setAndVerifyAccessRequired(NO);
45         }
46
47         @Test
48         public void setFullAccessRequiredCanSetAccessToWriting() {
49                 setAndVerifyAccessRequired(WRITING);
50         }
51
52         @Test
53         public void setFullAccessRequiredCanSetAccessToAlways() {
54                 setAndVerifyAccessRequired(ALWAYS);
55         }
56
57 }