Exemple #1
0
        private void DumpNodeSequence (JSNodeChildrenRecursive enumerable) {
            using (var e = enumerable.GetEnumerator())
            while (e.MoveNext())
                Console.WriteLine("{0} << {1} >>", e.Current.GetType(), e.Current);

            var nonDistinct = enumerable.ToArray();
            var distinct = nonDistinct.Distinct(new ReferenceComparer<JSNode>()).ToArray();
            Assert.AreEqual(distinct.Length, nonDistinct.Length, "Enumeration contains duplicates");
        }
Exemple #2
0
        protected JSNode()
        {
            TypeId = GetTypeId(GetType());

            var td = JSNodeTraversalData.Get(TypeId);

            Children                 = new JSNodeChildren(this, td, false);
            SelfAndChildren          = new JSNodeChildren(this, td, true);
            AllChildrenRecursive     = new JSNodeChildrenRecursive(this, td, false);
            SelfAndChildrenRecursive = new JSNodeChildrenRecursive(this, td, true);
        }
Exemple #3
0
        public JSNode()
        {
            TypeId = TypeIds[GetType()];

            var td = JSNodeTraversalData.Get(TypeId);

            Children                 = new JSNodeChildren(this, td, false);
            SelfAndChildren          = new JSNodeChildren(this, td, true);
            AllChildrenRecursive     = new JSNodeChildrenRecursive(this, td, false);
            SelfAndChildrenRecursive = new JSNodeChildrenRecursive(this, td, true);
        }
Exemple #4
0
        private void DumpNodeSequence (JSNodeChildrenRecursive enumerable) {
            using (var e = enumerable.GetEnumerator())
            while (e.MoveNext())
                Console.WriteLine("{0} << {1} >>", e.Current.GetType(), e.Current);

            var nonDistinct = enumerable.ToArray();
            var distinct = nonDistinct.Distinct(new ReferenceComparer<JSNode>()).ToArray();
            Assert.AreEqual(distinct.Length, nonDistinct.Length, "Enumeration contains duplicates");
        }