Exemple #1
0
        public void TestSiblingsAfterSelf_MissingChild()
        {
            var a = new VariableUse()
            {
                Name = "a"
            };
            var plus = new OperatorUse()
            {
                Text = "+"
            };
            var foo = new VariableUse()
            {
                Name = "foo"
            };
            var times = new OperatorUse()
            {
                Text = "*"
            };
            var b = new VariableUse()
            {
                Name = "b"
            };
            var exp = new Expression();

            exp.AddComponents(new Expression[] { a, plus, foo, times, b });

            var dot = new OperatorUse {
                Text             = ".",
                ParentExpression = exp
            };

            Assert.Throws <InvalidOperationException>(() => dot.GetSiblingsAfterSelf());
        }
Exemple #2
0
        public void TestSiblingsAfterSelf()
        {
            var a = new VariableUse()
            {
                Name = "a"
            };
            var plus = new OperatorUse()
            {
                Text = "+"
            };
            var foo = new VariableUse()
            {
                Name = "foo"
            };
            var times = new OperatorUse()
            {
                Text = "*"
            };
            var b = new VariableUse()
            {
                Name = "b"
            };
            var exp = new Expression();

            exp.AddComponents(new Expression[] { a, plus, foo, times, b });

            var plusSiblings = plus.GetSiblingsAfterSelf().ToList();

            Assert.AreEqual(3, plusSiblings.Count());
            Assert.AreSame(foo, plusSiblings[0]);
            Assert.AreSame(times, plusSiblings[1]);
            Assert.AreSame(b, plusSiblings[2]);

            var bSiblings = b.GetSiblingsAfterSelf().ToList();

            Assert.AreEqual(0, bSiblings.Count());
        }
        public void TestSiblingsAfterSelf() {
            var a = new VariableUse() { Name = "a" };
            var plus = new OperatorUse() { Text = "+" };
            var foo = new VariableUse() { Name = "foo" };
            var times = new OperatorUse() { Text = "*" };
            var b = new VariableUse() { Name = "b" };
            var exp = new Expression();
            exp.AddComponents(new Expression[] { a, plus, foo, times, b });

            var plusSiblings = plus.GetSiblingsAfterSelf().ToList();
            Assert.AreEqual(3, plusSiblings.Count());
            Assert.AreSame(foo, plusSiblings[0]);
            Assert.AreSame(times, plusSiblings[1]);
            Assert.AreSame(b, plusSiblings[2]);

            var bSiblings = b.GetSiblingsAfterSelf().ToList();
            Assert.AreEqual(0, bSiblings.Count());
        }
        public void TestSiblingsAfterSelf_MissingChild() {
            var a = new VariableUse() { Name = "a" };
            var plus = new OperatorUse() { Text = "+" };
            var foo = new VariableUse() { Name = "foo" };
            var times = new OperatorUse() { Text = "*" };
            var b = new VariableUse() { Name = "b" };
            var exp = new Expression();
            exp.AddComponents(new Expression[] { a, plus, foo, times, b });

            var dot = new OperatorUse {
                Text = ".",
                ParentExpression = exp
            };

            Assert.Throws<InvalidOperationException>(() => dot.GetSiblingsAfterSelf());
        }