Esempio n. 1
0
        public static void CompareNodes(EditorTree editorTree, IAstNode node1, IAstNode node2)
        {
#if ___DEBUG
            Debug.Assert(node1 is RootNode || editorTree.ParseTree.ContainsElement(node1.Key));

            if (!node1.ChildrenInvalidated)
            {
                Debug.Assert(node1.Children.Count == node2.Children.Count);
            }

            Debug.Assert(TextRange.AreEqual(node1.NameRange, node2.NameRange));
            Debug.Assert(node1.Attributes.Count == node2.Attributes.Count);

            Debug.Assert(TextRange.AreEqual(node1.OuterRange, node2.OuterRange));
            Debug.Assert(TextRange.AreEqual(node1.InnerRange, node2.InnerRange));

            Debug.Assert(node1.Start == node2.Start);
            Debug.Assert(node1.End == node2.End);

            if (!node1.ChildrenInvalidated)
            {
                if (node1.Children.Count == node2.Children.Count)
                {
                    for (int i = 0; i < node1.Children.Count; i++)
                    {
                        CompareNodes(editorTree, node1.Children[i], node2.Children[i]);
                    }
                }
            }
#endif
        }
Esempio n. 2
0
        public void TextRange_AreEqualTest()
        {
            TextRange r  = TextRange.FromBounds(1, 2);
            TextRange r1 = TextRange.FromBounds(1, 2);

            TextRange.AreEqual(r, TextRange.EmptyRange).Should().BeFalse();
            TextRange.AreEqual(r, r).Should().BeTrue();
            TextRange.AreEqual(r, null).Should().BeFalse();
            TextRange.AreEqual(null, r).Should().BeFalse();
            TextRange.AreEqual(r, r1).Should().BeTrue();
        }