public void DPinEqualsTest() { var pin1 = new DPin(); var pin2 = new DPin(); Assert.AreEqual(true, pin1.Equals(pin2)); pin1.PlotColor = new Color(0, 255, 0); Assert.AreEqual(false, pin1.Equals(pin2)); }
public void DPinConstructorTests() { var pin = new DPin(); Assert.AreEqual(Backend.PinType.DIGITAL, pin.Type); Assert.AreEqual(Backend.PinMode.OUTPUT, pin.Mode); Assert.AreEqual(Color.Zero, pin.PlotColor); pin.PlotColor = new Gdk.Color(255, 0, 0); Assert.AreEqual(new Gdk.Color(255, 0, 0), pin.PlotColor); }
/// <summary> /// Initializes a new instance of the <see cref="DigitalPinConfigurationDialog.DigitalPinConfiguration"/> class. /// </summary> /// <param name="availablePins">Available pins.</param> /// <param name="dpin">Dpin.</param> /// <param name="parent">Parent.</param> public DPinConfigDialog(DPin[] availablePins, DPin dpin = null, Gtk.Window parent = null) : base("Digital Output - Dialog", parent, Gtk.DialogFlags.Modal, new object[0]) { this.Build(); this.FocusChain = new Widget[] { entryName, cbPin, cbColor, buttonOk, buttonCancel }; if (dpin != null) { //change to ApplyBtn to singal change instead of addition of a new instance buttonOk.Label = "Apply"; buttonOk.Image = new Image(Gtk.Stock.Apply, IconSize.Button); AvailablePins = new DPin[availablePins.Length + 1]; Array.Copy(availablePins, AvailablePins, availablePins.Length); AvailablePins [availablePins.Length] = dpin; Pin = new DPin(dpin); } else { AvailablePins = availablePins; if (AvailablePins.Length > 0) { pin = AvailablePins [0]; } pin.PlotColor = GUIHelper.ColorHelper.GetRandomGdkColor(); cbColor.Color = pin.PlotColor; } for (int i = 0; i < availablePins.Length; i++) { cbPin.AppendText(availablePins [i].DisplayNumber); } if (AvailablePins.Length > 0) { cbPin.Active = 0; } else { buttonOk.Sensitive = false; buttonOk.TooltipText = "There are no more Pins left to configure."; } BindEvents(); }
public void SerializeDPin() { DPin TestPin = new DPin() { Number = 42, Name = "TestPin", PlotColor = GUIHelper.ColorHelper.GetRandomGdkColor(), }; Formator.Serialize(MemStream, TestPin); MemStream.Seek(0, SeekOrigin.Begin); DPin TestPinClone = (DPin)Formator.Deserialize(MemStream); Assert.AreEqual(TestPin, TestPinClone); }
public void SerializeSequence() { DPin TestPin = new DPin() { Number = 42, Name = "Testor the Destroyer" }; Sequence Seq = new Sequence() { Pin = TestPin, Chain = new System.Collections.Generic.List <SequenceOperation>() { new SequenceOperation() { Duration = TimeSpan.FromSeconds(42), State = DPinState.HIGH }, new SequenceOperation() { Duration = TimeSpan.FromSeconds(42), State = DPinState.LOW } }, Repetitions = -1 }; Formator.Serialize(MemStream, Seq); MemStream.Seek(0, SeekOrigin.Begin); Sequence SeqEvilClone = (Sequence)Formator.Deserialize(MemStream); Console.WriteLine(Seq.ToStringLong()); Console.WriteLine(SeqEvilClone.ToStringLong()); Assert.AreEqual(Seq, SeqEvilClone); }
public DPinTreeNode(DPin pin, int index = -1, Sequence seq = null) { Sequence = seq; Index = index; Pin = pin; }
/// <summary> /// Initializes a new instance of the <see cref="SequenceConfigurationsDialog.SequenceConfiguration"/> class. /// </summary> /// <param name="pins">Pins.</param> /// <param name="groups">Groups.</param> /// <param name="seq">Seq.</param> /// <param name="RefPin">Reference pin.</param> /// <param name="parent">Parent.</param> public SeqConfigDialog(DPin[] pins, List <string> groups, Sequence seq = null, DPin RefPin = null, Gtk.Window parent = null) : base("Digital Sequences - Dialog", parent, Gtk.DialogFlags.Modal, new object[0]) { this.Build(); sbRadioBtnStopAfter.Adjustment.Upper = int.MaxValue; sbRadioBtnStopAfter.Adjustment.Lower = 0; DPins = pins; //no DPin no Sequence if (DPins.Length > 0) { for (int i = 0; i < DPins.Length; i++) { // cbPin.AppendText (string.Format ("{0}(D{1})", DPins [i].Name, DPins [i].Number)); cbPin.AppendText(DPins [i].DisplayNumber); } } SetupNodeView(); SetupOxyPlot(); if (seq != null) { PinSequence = seq; if (seq.Repetitions == -1) { rbRepeateContinously.Active = true; } else { rbStopAfter.Active = true; sbRadioBtnStopAfter.Sensitive = true; sbRadioBtnStopAfter.Value = seq.Repetitions; } buttonOk.Label = "Apply"; buttonOk.Image = new Image(Gtk.Stock.Apply, IconSize.Button); } else { pinSequence = new Sequence(); pinSequence.Repetitions = -1; } if (RefPin == null) { cbPin.Active = 0; } else { cbPin.Active = pins.ToList().IndexOf(RefPin); } SetupGroups(groups); DisplaySequenceInfos(); BuildEvents(); }