private DirectSsdWriter(ImmutableList <Pin> segmentPins, ImmutableList <Pin> digitPins,
                         StepApplier applier, Func <int, byte> values, ImmutableTimer timer,
                         int?currentDigit = null)
 {
     this.segmentPins  = segmentPins;
     this.digitPins    = digitPins;
     this.applier      = applier;
     this.values       = values;
     this.timer        = timer;
     this.currentDigit = currentDigit ?? digitPins.Count - 1;
 }
示例#2
0
        public void Remaining_BeforeStart_ReturnsInterval()
        {
            var timer = new ImmutableTimer(2).Tick(2);

            Assert.AreEqual(3, timer.Remaining(1));
        }
示例#3
0
        public void Remaining_WhenWrappingNext_ReturnsRemaining()
        {
            var timer = new ImmutableTimer(4).Tick(uint.MaxValue);

            Assert.AreEqual(2, timer.Remaining(1));
        }
示例#4
0
        public void Remaining_AfterExpectedEnd_ReturnsZero()
        {
            var timer = new ImmutableTimer(2).Tick(0);

            Assert.AreEqual(0, timer.Remaining(3));
        }
示例#5
0
        public void Remaining_AfterTicked_ReturnsRemaining()
        {
            var timer = new ImmutableTimer(2).Tick(0);

            Assert.AreEqual(1, timer.Remaining(1));
        }
示例#6
0
        public void Remaining_AtStart_ReturnsZero()
        {
            var timer = new ImmutableTimer(2);

            Assert.AreEqual(0, timer.Remaining(0));
        }
示例#7
0
        public void SetInterval_WhenTicked_UseNewInterval()
        {
            var timer = new ImmutableTimer(2).Tick(0).SetInterval(3);

            Assert.AreEqual(timer, timer.Tick(2));
        }
示例#8
0
        public void Tick_LargerThanInterval_ReturnsDifferentInstance()
        {
            var timer = new ImmutableTimer(2).Tick(0);

            Assert.AreNotEqual(timer, timer.Tick(2));
        }
示例#9
0
        public void Tick_SmallerThanInterval_ReturnsSameInstance()
        {
            var timer = new ImmutableTimer(2).Tick(0);

            Assert.AreEqual(timer, timer.Tick(1));
        }
示例#10
0
        public void Tick_AtStart_Triggers()
        {
            var timer = new ImmutableTimer(2);

            Assert.AreNotEqual(timer, timer.Tick(0));
        }