Esempio n. 1
0
        public void ButtonAggregator_AtStart_NoKey()
        {
            var ticker  = new Ticker(1, 0);
            var buttons = new List <IButton <ButtonId> > {
                new ButtonStub <ButtonId>()
            };
            var aggr = new ButtonAggregator(
                () => ticker, buttons);

            Assert.AreEqual(KeyId.None, aggr.KeyState);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        public void ButtonAggregator_OnPinValueChange_TransmitToButton()
        {
            var ticker = new Ticker(1, 0);
            var button = new ButtonStub <ButtonId> {
                IdVal = ButtonId.Bottom
            };
            var buttons = new List <IButton <ButtonId> > {
                button
            };

            var aggr = new ButtonAggregator(
                () => ticker, buttons).OnPinValueChange(ButtonId.Bottom);

            Assert.IsTrue(button.OnPinValueChanged);
        }
Esempio n. 4
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));
        }
Esempio n. 5
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));
        }