示例#1
0
        public void TestUniqueBlockExecute2()
        {
            var block = new UniqueBlock {
                SortSamples = false
            };
            var signalBlock = new ImportFromTextBlock {
                Text = "1, 3, -4, 8, 3, 4, 1, -3"
            };

            signalBlock.ConnectTo(block);
            signalBlock.Execute();

            Console.WriteLine(block.OutputNodes[0].Object.ToString(0));
            //Output: 1, 3, -4, 8, 4, -3

            Assert.AreEqual("1 3 -4 8 4 -3", block.OutputNodes[0].Object.ToString(0));
        }
示例#2
0
        public void TestUniqueBlockExecute()
        {
            var signalBlock = new ImportFromTextBlock {
                ColumnSeparator = " "
            };
            var block = new UniqueBlock();

            block.Execute();

            signalBlock.ConnectTo(block);
            Assert.IsNotNull(block.Name);
            Assert.IsNotNull(block.Description);
            Assert.IsNotNull(block.ProcessingType);

            block.SortSamples = false;
            signalBlock.Text  = "3 5 3 1 2 2";
            signalBlock.Execute();
            Assert.AreEqual("3 5 1 2", block.OutputNodes[0].Object.ToString(0));

            block.SortSamples = true;
            signalBlock.Text  = "3 5 3 1 2 2";
            signalBlock.Execute();
            Assert.AreEqual("1 2 3 5", block.OutputNodes[0].Object.ToString(0));

            var block2 = (UniqueBlock)block.Clone();

            signalBlock.Text = "1 2 3 3 4 4 5";
            block.ConnectTo(block2);
            signalBlock.Execute();
            Assert.AreEqual("1 2 3 4 5", block.OutputNodes[0].Object.ToString(0));
            Assert.AreEqual("1 2 3 4 5", block2.OutputNodes[0].Object.ToString(0));

            block.Cascade = false;
            block2        = (UniqueBlock)block.Clone();
            block.ConnectTo(block2);
            signalBlock.Execute();
            Assert.AreEqual("", block2.OutputNodes[0].Object.ToString(0, " "));
            Assert.AreEqual(0, block2.OutputNodes[0].Object.Count);
        }