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.SetFullAccessRequired;
10 import net.pterodactylus.sone.fcp.event.FcpInterfaceActivatedEvent;
11 import net.pterodactylus.sone.fcp.event.FcpInterfaceDeactivatedEvent;
13 import org.junit.Test;
16 * Unit test for {@link FcpInterface} and its subclasses.
18 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
20 public class FcpInterfaceTest {
22 private final FcpInterface fcpInterface = new FcpInterface(null);
23 private final SetFullAccessRequired setFullAccessRequired = fcpInterface.new SetFullAccessRequired();
26 public void fcpInterfaceCanBeActivated() {
27 fcpInterface.fcpInterfaceActivated(new FcpInterfaceActivatedEvent());
28 assertThat(fcpInterface.isActive(), is(true));
32 public void fcpInterfaceCanBeDeactivated() {
33 fcpInterface.fcpInterfaceDeactivated(new FcpInterfaceDeactivatedEvent());
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));