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.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;
14 import org.junit.Test;
17 * Unit test for {@link FcpInterface} and its subclasses.
19 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
21 public class FcpInterfaceTest {
23 private final FcpInterface fcpInterface = new FcpInterface(null);
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));
37 private void setAndVerifyAccessRequired(FullAccessRequired fullAccessRequired) {
38 fcpInterface.fullAccessRequiredChanged(new FullAccessRequiredChanged(fullAccessRequired));
39 assertThat(fcpInterface.getFullAccessRequired(), is(fullAccessRequired));
43 public void setFullAccessRequiredCanSetAccessToNo() {
44 setAndVerifyAccessRequired(NO);
48 public void setFullAccessRequiredCanSetAccessToWriting() {
49 setAndVerifyAccessRequired(WRITING);
53 public void setFullAccessRequiredCanSetAccessToAlways() {
54 setAndVerifyAccessRequired(ALWAYS);