@Test
public void Conjunction_should_accept_left_true_and_right_true_only(){

    GarmadonMessageFilter.Junction left = newMockableJunction();
    GarmadonMessageFilter.Junction right = newMockableJunction();
    GarmadonMessageFilter.Junction filter = left.and(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(false));
    when(left.accepts(anyInt(), any())).thenReturn(false);
    when(right.accepts(anyInt(), any())).thenReturn(true);
    assertThat(filter.accepts(random.nextInt(),EventHeaderProtos.Header.getDefaultInstance()), is(false));
    when(left.accepts(anyInt(), any())).thenReturn(false);
    when(right.accepts(anyInt(), any())).thenReturn(false);
    assertThat(filter.accepts(random.nextInt(),EventHeaderProtos.Header.getDefaultInstance()), is(false));
}