+ public void preferencesRetainFcpFullAccessRequiredOfNo() {
+ preferences.setFcpFullAccessRequired(NO);
+ assertThat(preferences.getFcpFullAccessRequired(), is(NO));
+ verifyFullAccessRequiredChangedEvent(NO);
+ }
+
+ private void verifyFullAccessRequiredChangedEvent(
+ FullAccessRequired fullAccessRequired) {
+ ArgumentCaptor<FullAccessRequiredChanged> fullAccessRequiredCaptor =
+ ArgumentCaptor.forClass(FullAccessRequiredChanged.class);
+ verify(eventBus).post(fullAccessRequiredCaptor.capture());
+ assertThat(
+ fullAccessRequiredCaptor.getValue().getFullAccessRequired(),
+ is(fullAccessRequired));
+ }
+
+ @Test
+ public void preferencesRetainFcpFullAccessRequiredOfWriting() {
+ preferences.setFcpFullAccessRequired(WRITING);
+ assertThat(preferences.getFcpFullAccessRequired(), is(WRITING));
+ verifyFullAccessRequiredChangedEvent(WRITING);
+ }
+
+ @Test
+ public void preferencesRetainFcpFullAccessRequiredOfAlways() {