public override HashList <T> Range(T query, int range)
        {
            HashList <T> ls = new HashList <T>();
            HashList <T> r  = base.Range(query, range);

            ls.AddRange(r.Where(a => !a.IsDeleted));
            ls.AddRange(Secondary.Where(a => !a.IsDeleted && a.CalculateDistance(query) < range));
            ls.CustomSort(0, ls.Count - 1);
            return(ls);
        }
        private void Rebuild()
        {
            HashList <T> l = new HashList <T>();

            l.AddRange(_items.Where(a => !a.IsDeleted));
            l.AddRange(Secondary.Where(a => !a.IsDeleted));
            Secondary.Clear();
            Populate(l);
            _grow   = 0;
            _degrow = 0;
        }
Ejemplo n.º 3
0
        public void VersionCheck_AddRange()
        {
            var         list       = new HashList <int>();
            IEnumerator enumerator = list.GetEnumerator();

            list.AddRange(new int[] { 5, 7 });

            try
            {
                enumerator.MoveNext();
                Assert.Fail("#1");
            }
            catch (InvalidOperationException)
            {
            }

            try
            {
                enumerator.Reset();
                Assert.Fail("#2");
            }
            catch (InvalidOperationException)
            {
            }

            enumerator = list.GetEnumerator();
            enumerator.MoveNext();
        }
Ejemplo n.º 4
0
        public void AddRange_Bug77019()
        {
            var l = new HashList <int>();
            var d = new Dictionary <string, int>();

            l.AddRange(d.Values);
            Assert.AreEqual(0, l.Count, "Count");
        }
Ejemplo n.º 5
0
        public void AddRangeTest()
        {
            var count = _list1.Count;

            // FIXME arrays currently do not support generic collection
            // interfaces
            int[] range = { -1, -2, -3 };
            var   tmp   = new HashList <int>();

            foreach (var i in range)
            {
                tmp.Add(i);
            }
            // _list1.AddRange (range);
            _list1.AddRange(tmp);

            Assert.AreEqual(count + 3, _list1.Count);
            Assert.AreEqual(-1, _list1[_list1.Count - 3]);
            Assert.AreEqual(-2, _list1[_list1.Count - 2]);
            Assert.AreEqual(-3, _list1[_list1.Count - 1]);
        }
Ejemplo n.º 6
0
        public void AddRange_Valid_Adds()
        {
            var items = new List <Dummy>
            {
                new Dummy(),
                new Dummy()
            };

            hashList.AddRange(items);

            Assert.IsNotEmpty(hashList);
        }