Add class to set FCP interface access level from an option.
[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.SetActive;
10 import net.pterodactylus.sone.fcp.FcpInterface.SetFullAccessRequired;
11
12 import org.junit.Test;
13
14 /**
15  * Unit test for {@link FcpInterface} and its subclasses.
16  *
17  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
18  */
19 public class FcpInterfaceTest {
20
21         private final FcpInterface fcpInterface = new FcpInterface(null);
22         private final SetActive setActive = fcpInterface.new SetActive();
23         private final SetFullAccessRequired setFullAccessRequired = fcpInterface.new SetFullAccessRequired();
24
25         @Test
26         public void setActiveCanActivateFcpInterface() {
27                 setActive.optionChanged(null, null, true);
28                 assertThat(fcpInterface.isActive(), is(true));
29         }
30
31         @Test
32         public void setActiveCanDeactivateFcpInterface() {
33                 setActive.optionChanged(null, null, false);
34                 assertThat(fcpInterface.isActive(), is(false));
35         }
36
37         @Test
38         public void setFullAccessRequiredCanSetAccessToNo() {
39                 setFullAccessRequired.optionChanged(null, null, 0);
40                 assertThat(fcpInterface.getFullAccessRequired(), is(NO));
41         }
42
43         @Test
44         public void setFullAccessRequiredCanSetAccessToWriting() {
45                 setFullAccessRequired.optionChanged(null, null, 1);
46                 assertThat(fcpInterface.getFullAccessRequired(), is(WRITING));
47         }
48
49         @Test
50         public void setFullAccessRequiredCanSetAccessToAlways() {
51                 setFullAccessRequired.optionChanged(null, null, 2);
52                 assertThat(fcpInterface.getFullAccessRequired(), is(ALWAYS));
53         }
54
55 }