@Test
public void Disjunction_should_not_evaluate_right_unless_left_is_false(){

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