@Test
public void Disjunction_should_accept_either_left_true_or_right_true(){

    GarmadonMessageFilter.Junction left = newMockableJunction();
    GarmadonMessageFilter.Junction right = newMockableJunction();
    GarmadonMessageFilter.Junction filter = left.or(right);
    when(left.accepts(anyInt(), any())).thenReturn(true);
    when(right.accepts(anyInt(), any())).thenReturn(true);
    assertThat(filter.accepts(random.nextInt(), EventHeaderProtos.Header.getDefaultInstance()), is(true));
    when(left.accepts(anyInt(), any())).thenReturn(true);
    when(right.accepts(anyInt(), any())).thenReturn(false);
    assertThat(filter.accepts(random.nextInt(), EventHeaderProtos.Header.getDefaultInstance()), is(true));
    when(left.accepts(anyInt(), any())).thenReturn(false);
    when(right.accepts(anyInt(), any())).thenReturn(true);
    assertThat(filter.accepts(random.nextInt(), EventHeaderProtos.Header.getDefaultInstance()), is(true));
    when(left.accepts(anyInt(), any())).thenReturn(false);
    when(right.accepts(anyInt(), any())).thenReturn(false);
    assertThat(filter.accepts(random.nextInt(), EventHeaderProtos.Header.getDefaultInstance()), is(false));
}