Пример #1
0
        public void TestAddSameIndividual()
        {
            QuadTreeRectF<QTreeObject> qtree = new QuadTreeRectF<QTreeObject>();
            List<QTreeObject> list = new List<QTreeObject>();
            for (int i = 0; i < 10000; i++)
            {
                qtree.Add(new QTreeObject(new RectangleF(1, 1, 1, 1)));
            }

            var result = qtree.GetObjects(new RectangleF(-100, -100, 200, 200));
            Assert.AreEqual(result.Distinct().Count(), result.Count);
            Assert.AreEqual(10000, result.Count);
        }
Пример #2
0
        public void TestAddMany()
        {
            Random r = new Random(1000);
            QuadTreeRectF<QTreeObject> qtree = new QuadTreeRectF<QTreeObject>();
            for (int i = 0; i < 10000; i++)
            {
                qtree.Add(new QTreeObject(new RectangleF(r.Next(0, 1000) / 1000f, r.Next(0, 1000) / 1000f, r.Next(1000, 20000) / 1000f, r.Next(1000, 20000) / 1000f)));
            }

            var result = qtree.GetObjects(new RectangleF(-100, -100, 200, 200));
            Assert.AreEqual(result.Distinct().Count(), result.Count);

            result = qtree.GetObjects(new RectangleF(-.100f, -.100f, .200f, .200f));
            Assert.AreEqual(result.Distinct().Count(), result.Count);
        }
Пример #3
0
        public void TestAddSameIndividual()
        {
            QuadTreeRectF <QTreeObject> qtree = new QuadTreeRectF <QTreeObject>();
            List <QTreeObject>          list  = new List <QTreeObject>();

            for (int i = 0; i < 10000; i++)
            {
                qtree.Add(new QTreeObject(new RectangleF(1, 1, 1, 1)));
            }

            var result = qtree.GetObjects(new RectangleF(-100, -100, 200, 200));

            Assert.AreEqual(result.Distinct().Count(), result.Count);
            Assert.AreEqual(10000, result.Count);
        }
Пример #4
0
        public void TestAddMany()
        {
            Random r = new Random(1000);
            QuadTreeRectF <QTreeObject> qtree = new QuadTreeRectF <QTreeObject>();

            for (int i = 0; i < 10000; i++)
            {
                qtree.Add(new QTreeObject(new RectangleF(r.Next(0, 1000) / 1000f, r.Next(0, 1000) / 1000f, r.Next(1000, 20000) / 1000f, r.Next(1000, 20000) / 1000f)));
            }

            var result = qtree.GetObjects(new RectangleF(-100, -100, 200, 200));

            Assert.AreEqual(result.Distinct().Count(), result.Count);

            result = qtree.GetObjects(new RectangleF(-.100f, -.100f, .200f, .200f));
            Assert.AreEqual(result.Distinct().Count(), result.Count);
        }