1 package net.pterodactylus.sone.fcp;
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;
9 import net.pterodactylus.sone.fcp.FcpInterface.SetActive;
10 import net.pterodactylus.sone.fcp.FcpInterface.SetFullAccessRequired;
12 import org.junit.Test;
15 * Unit test for {@link FcpInterface} and its subclasses.
17 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
19 public class FcpInterfaceTest {
21 private final FcpInterface fcpInterface = new FcpInterface(null);
22 private final SetActive setActive = fcpInterface.new SetActive();
23 private final SetFullAccessRequired setFullAccessRequired = fcpInterface.new SetFullAccessRequired();
26 public void setActiveCanActivateFcpInterface() {
27 setActive.optionChanged(null, null, true);
28 assertThat(fcpInterface.isActive(), is(true));
32 public void setActiveCanDeactivateFcpInterface() {
33 setActive.optionChanged(null, null, false);
34 assertThat(fcpInterface.isActive(), is(false));
38 public void setFullAccessRequiredCanSetAccessToNo() {
39 setFullAccessRequired.optionChanged(null, null, 0);
40 assertThat(fcpInterface.getFullAccessRequired(), is(NO));
44 public void setFullAccessRequiredCanSetAccessToWriting() {
45 setFullAccessRequired.optionChanged(null, null, 1);
46 assertThat(fcpInterface.getFullAccessRequired(), is(WRITING));
50 public void setFullAccessRequiredCanSetAccessToAlways() {
51 setFullAccessRequired.optionChanged(null, null, 2);
52 assertThat(fcpInterface.getFullAccessRequired(), is(ALWAYS));