コード例 #1
0
ファイル: NodeViews.cs プロジェクト: Onkeliroh/DSA
        public SequenceOperationTreeNode(SequenceOperation seqop, int index = -1, double totalTime = -1)
        {
            SeqOp = seqop;
            Index = index;

            if (totalTime < 0)
            {
                TotalTime = "";
            }
            else
            {
                TotalTime = "+" + TimeSpan.FromTicks((long)totalTime).ToString("g");
            }
        }
コード例 #2
0
        public void SerializeSequenceOperation()
        {
            SequenceOperation SeqOp = new SequenceOperation()
            {
                Duration = TimeSpan.FromSeconds(42),
                State    = DPinState.HIGH
            };

            Formator.Serialize(MemStream, SeqOp);

            MemStream.Seek(0, SeekOrigin.Begin);

            SequenceOperation SeqOpClone = (SequenceOperation)Formator.Deserialize(MemStream);

            Assert.AreEqual(SeqOp, SeqOpClone);
        }
コード例 #3
0
        public void SequenceCreateVector()
        {
            SequenceOperation op = SequenceOperation.Instance;

            var result = op.Apply(1, 20);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(Vector));

            var vector = (Vector)result;

            Assert.AreEqual(20, vector.Length);

            for (int k = 0; k < 20; k++)
            {
                Assert.AreEqual(k + 1, vector[k]);
            }
        }
コード例 #4
0
        /// <summary>
        /// Adds or changes a operation.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="e">E.</param>
        protected void OnBtnApplyOperationClicked(object sender, EventArgs e)
        {
            var op = new SequenceOperation()
            {
                Duration = this.Duration,
//				State = (cbState.ActiveText == "HIGH") ? DPinState.HIGH : DPinState.LOW,
                State = (cbState.Active == 0) ? DPinState.HIGH : DPinState.LOW,
            };

            if (ActiveNode == null)
            {
                AddOperation(op);
                cbState.Active = (cbState.Active == 0) ? 1 : 0;
            }
            else
            {
                pinSequence.Chain [ActiveNode.Index] = op;
                DisplaySequenceInfos();
                SwitchToAddBtn();
            }
        }
コード例 #5
0
        /// <summary>
        ///     Generates a SQL fragment configuring a sequence with the given options.
        /// </summary>
        /// <param name="schema"> The schema that contains the sequence, or <c>null</c> to use the default schema. </param>
        /// <param name="name"> The sequence name. </param>
        /// <param name="operation"> The sequence options. </param>
        /// <param name="model"> The target model which may be <c>null</c> if the operations exist without a model. </param>
        /// <param name="builder"> The command builder to use to add the SQL fragment. </param>
        protected override void SequenceOptions(
            string schema,
            string name,
            SequenceOperation operation,
            IModel model,
            MigrationCommandListBuilder builder)
        {
            Check.NotEmpty(name, nameof(name));
            Check.NotNull(operation, nameof(operation));
            Check.NotNull(builder, nameof(builder));

            builder
            .Append(" INCREMENT BY ")
            .Append(IntegerConstant(operation.IncrementBy));

            if (operation.MinValue.HasValue)
            {
                builder
                .Append(" MINVALUE ")
                .Append(IntegerConstant(operation.MinValue.Value));
            }
            else
            {
                builder.Append(" NO MINVALUE");
            }

            if (operation.MaxValue.HasValue)
            {
                builder
                .Append(" MAXVALUE ")
                .Append(IntegerConstant(operation.MaxValue.Value));
            }
            else
            {
                builder.Append(" NO MAXVALUE");
            }

            builder.Append(operation.IsCyclic ? " CYCLE" : " NO CYCLE");
        }
コード例 #6
0
 public SequenceOperationTests()
 {
     sequenceOperation = new SequenceOperation();
 }
コード例 #7
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();
 }