예제 #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);
        }
예제 #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 ();
        }