@Test
public void onScroll_withInitialLeftThenRightMovement_BeforeZigCompletes_MovesOutOfUpperYBounds_shouldSetStateToFailed() throws Exception {

    simulateScroll(INITIAL_X);
    assertZigZagState(UNSET);
    simulateScroll(INITIAL_X + 10);
    assertZigZagState(GOING_RIGHT);
    simulateScroll(savedX, INITIAL_Y + 49);
    assertZigZagState(GOING_RIGHT);
    assertThat(subject.getNumberOfZigzags()).isEqualTo(0);
    simulateScroll(savedX, INITIAL_Y + 52);
    assertZigZagState(FAILED);
}