Beispiel #1
0
        public void AddTest()
        {
            Sequence seq = new Sequence()
            {
                Pin = new DPin()
                {
                    Name      = "Pin of Awesome",
                    Number    = 13,
                    PlotColor = GUIHelper.ColorHelper.SystemColorToGdkColor(System.Drawing.Color.Yellow),
                    State     = DPinState.HIGH
                },
                Name        = "Sequence of Awesome",
                Repetitions = 3,
            };

            seq.AddSequenceOperation(new SequenceOperation()
            {
                State    = DPinState.HIGH,
                Duration = TimeSpan.FromSeconds(30)
            });

            Assert.AreEqual(1, seq.Chain.Count);

            Assert.AreEqual(0, seq.Cycle);
            seq.Next();
            Assert.AreEqual(1, seq.Cycle);
            seq.Next();
            Assert.AreEqual(2, seq.Cycle);
            seq.Next();
            Assert.AreEqual(3, seq.Cycle);

            seq.Reset();
            Assert.AreEqual(0, seq.Cycle);
        }
Beispiel #2
0
        public void GetCurrentStateTest()
        {
            Sequence seq = new Sequence()
            {
                Pin = new DPin()
                {
                    Name      = "Pin of Awesome",
                    Number    = 13,
                    PlotColor = GUIHelper.ColorHelper.SystemColorToGdkColor(System.Drawing.Color.Yellow),
                    State     = DPinState.HIGH
                },
                Name        = "Sequence of Awesome",
                Repetitions = 3,
            };

            seq.AddSequenceOperation(new SequenceOperation()
            {
                State    = DPinState.HIGH,
                Duration = TimeSpan.FromMilliseconds(10)
            });
            seq.AddSequenceOperation(new SequenceOperation()
            {
                State    = DPinState.LOW,
                Duration = TimeSpan.FromMilliseconds(10)
            });

            Assert.AreEqual(2, seq.Chain.Count);

            Assert.AreEqual(0, seq.Chain [0].Moment.TotalMilliseconds);
            Assert.AreEqual(10, seq.Chain [1].Moment.TotalMilliseconds);

            Assert.AreEqual(DPinState.HIGH, seq.GetCurrentState(9));
            Assert.AreEqual(DPinState.LOW, seq.GetCurrentState(10));

            Assert.AreEqual(DPinState.LOW, seq.GetCurrentState(19));
            Assert.AreEqual(DPinState.HIGH, seq.GetCurrentState(20));

            Assert.AreEqual(DPinState.HIGH, seq.GetCurrentState(29));
            Assert.AreEqual(DPinState.LOW, seq.GetCurrentState(30));

            Assert.AreEqual(DPinState.LOW, seq.GetCurrentState(60));
            Assert.AreEqual(DPinState.LOW, seq.GetCurrentState(61));

            seq.Reset();
        }
Beispiel #3
0
 /// <summary>
 /// Adds a operation.
 /// </summary>
 /// <param name="SeqOp">Seq op.</param>
 private void AddOperation(SequenceOperation SeqOp)
 {
     pinSequence.AddSequenceOperation(SeqOp);
     XAxis.AbsoluteMaximum = pinSequence.Chain.Sum(o => o.Duration.TotalMilliseconds);
     DisplaySequenceInfos();
 }