public void Construction_CreateAndSetEmptyVelocityStack() { IPointerDownInputProcessStateConstArg arg = CreateMockArg(); TestAbsPointerDownInputProcessState state = new TestAbsPointerDownInputProcessState(arg); Assert.That(state.GetVelocityStack_Test(), Is.EqualTo(new Vector2[arg.velocityStackSize])); }
/* Down state * enter => * Runs WFTapProcess * exit => * stop the process if its running * pointer up => * WFNextTouchState * ReleaseUIE * if deltaP is over thresh * SwipeUIE * else * TapUIE(touchCounter) * process expire => * WFReleaseState * DelayTouchUIE * process update => * HoldUIE * drag => * DragUIE * pointer enter => * do nothing * pointer exit => * WFRelease */ /* In the event of cancel (pointer leaves in bound) * OnPointerUp is called first, and then OnPointerExit */ public WaitingForTapState( IPointerDownInputProcessStateConstArg arg ) : base( arg ) { }
public AbsPointerDownInputProcessState( IPointerDownInputProcessStateConstArg arg ) : base( arg ) { thisProcessFactory = arg.processFactory; }
IPointerDownInputProcessStateConstArg CreateMockArg() { IPointerDownInputProcessStateConstArg arg = Substitute.For <IPointerDownInputProcessStateConstArg>(); arg.engine.Returns(Substitute.For <IUIAdaptorInputStateEngine>()); arg.uiManager.Returns(Substitute.For <IUIManager>()); arg.velocityStackSize.Returns(3); arg.processFactory.Returns(Substitute.For <IUISystemProcessFactory>()); return(arg); }
public void OnExit_SetsProcessNull() { IPointerDownInputProcessStateConstArg arg = CreateMockArg(); TestAbsPointerDownInputProcessState state = new TestAbsPointerDownInputProcessState(arg); state.SetProcess(Substitute.For <IUIAdaptorInputProcess>()); Assert.That(state.GetProcess_Test(), Is.Not.Null); state.OnExit(); Assert.That(state.GetProcess_Test(), Is.Null); }
public void ExpireProcess_ProcessIsNotRunning_DoesNotExpireIt() { IPointerDownInputProcessStateConstArg arg = CreateMockArg(); TestAbsPointerDownInputProcessState state = new TestAbsPointerDownInputProcessState(arg); IUIAdaptorInputProcess process = Substitute.For <IUIAdaptorInputProcess>(); process.IsRunning().Returns(false); state.SetProcess(process); state.ExpireProcess(); process.DidNotReceive().Expire(); }
public void OnExit_ProcessIsRunning_StopsIt() { IPointerDownInputProcessStateConstArg arg = CreateMockArg(); TestAbsPointerDownInputProcessState state = new TestAbsPointerDownInputProcessState(arg); IUIAdaptorInputProcess process = Substitute.For <IUIAdaptorInputProcess>(); process.IsRunning().Returns(true); state.SetProcess(process); state.OnExit(); process.Received(1).Stop(); }
public void OnEnter_CreateAndSetNewVelocityStack() { IPointerDownInputProcessStateConstArg arg = CreateMockArg(); TestAbsPointerDownInputProcessState state = new TestAbsPointerDownInputProcessState(arg); state.SetVelocityStack_Test( new Vector2[] { new Vector2(1f, 1f), new Vector2(2f, 2f), new Vector2(3f, 3f) } ); state.OnEnter(); Assert.That(state.GetVelocityStack_Test(), Is.EqualTo(new Vector2[arg.velocityStackSize])); }
public TestAbsPointerDownInputProcessState(IPointerDownInputProcessStateConstArg arg) : base(arg) { }