public void NextTick_AtStart_GetsFromButton() { var ticker = new Ticker(1, 0); var button = new ButtonStub <ButtonId> { IdVal = ButtonId.Bottom, NextTickVal = 1 }; var buttons = new List <IButton <ButtonId> > { button }; var aggr = new ButtonAggregator(() => ticker, buttons); Assert.AreEqual(1, aggr.NextTick(0)); }
public void Tick_UpdatedButton_StartsTicker() { var ticker = new Ticker(2, 0); var button = new ButtonStub <ButtonId> { IdVal = ButtonId.Bottom, NextTickVal = 1, Next = new ButtonStub <ButtonId> { IdVal = ButtonId.Bottom } }; var buttons = new List <IButton <ButtonId> > { button }; var aggr = new ButtonAggregator(() => ticker, buttons).Tick(0); Assert.AreEqual(2, aggr.NextTick(0)); }
public void Tick_TickerEnd_UpdatesKey() { var ticker = new Ticker(2, 0); var button = new ButtonStub <ButtonId> { IdVal = ButtonId.Bottom, NextTickVal = 1, Next = new ButtonStub <ButtonId> { IdVal = ButtonId.Bottom, PressedVal = true } }; var buttons = new List <IButton <ButtonId> > { button }; var aggr = new ButtonAggregator(() => ticker, buttons).Tick(0).Tick(2); Assert.AreEqual(KeyId.A, aggr.KeyState); Assert.AreEqual(null, aggr.NextTick(2)); }