public void TestSiblingsBeforeSelf() {
            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 fooSiblings = foo.GetSiblingsBeforeSelf().ToList();
            Assert.AreEqual(2, fooSiblings.Count());
            Assert.AreSame(a, fooSiblings[0]);
            Assert.AreSame(plus, fooSiblings[1]);

            var aSiblings = a.GetSiblingsBeforeSelf().ToList();
            Assert.AreEqual(0, aSiblings.Count());
        }
Beispiel #2
0
        public void TestSiblingsBeforeSelf()
        {
            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 fooSiblings = foo.GetSiblingsBeforeSelf().ToList();

            Assert.AreEqual(2, fooSiblings.Count());
            Assert.AreSame(a, fooSiblings[0]);
            Assert.AreSame(plus, fooSiblings[1]);

            var aSiblings = a.GetSiblingsBeforeSelf().ToList();

            Assert.AreEqual(0, aSiblings.Count());
        }