Example #1
0
        public void ShouldIncreaseNodeArea()
        {
            var config = new RTreeConfig()
            {
                Max = 5,
                Min = 2
            };
            var node = new RNode <Int32>(config, new GuttmanSplit <Int32>());

            var elemets = new List <Shape2DItem <Int32> >()
            {
                Shape2DFactory.GetShape(0, 0, 10, 10),
                Shape2DFactory.GetShape(15, 10, 10, 10),
                //Shape2DFactory.GetShape(30,0,10,10),
                //Shape2DFactory.GetShape(45,0,10,10),
                //Shape2DFactory.GetShape(60,0,10,10),
                //Shape2DFactory.GetShape(75,0,10,10),
            };

            foreach (var item in elemets)
            {
                node.Add(item);
            }

            Assert.AreEqual(25, ((BoundingBox2D <Int32>)node.BoundingBox).Right);
            Assert.AreEqual(20, ((BoundingBox2D <Int32>)node.BoundingBox).Bottom);
        }
Example #2
0
        public void ShouldAddAnElement()
        {
            var shape = Shape2DFactory.GetShape();
            var tree  = new RTree <Int32>();

            tree.Add(shape);

            Assert.AreEqual(1, tree.Count);
        }
Example #3
0
        public void ShouldGetWorstCouple()
        {
            var nodeStrategy = new GuttmanSplit <Int32>();

            var elemets = new List <Shape2DItem <Int32> >()
            {
                Shape2DFactory.GetShape(0, 0, 10, 10),
                Shape2DFactory.GetShape(15, 10, 10, 10),
                Shape2DFactory.GetShape(30, 0, 10, 10),
                Shape2DFactory.GetShape(75, 0, 10, 10),
                Shape2DFactory.GetShape(45, 0, 10, 10),
                Shape2DFactory.GetShape(60, 0, 10, 10),
            };

            var worstCouple = nodeStrategy.GetWorstCouple(elemets);

            Assert.AreEqual(0, elemets.ElementAt(worstCouple.IndexA).BoundingBox2D.X);
            Assert.AreEqual(75, elemets.ElementAt(worstCouple.IndexB).BoundingBox2D.X);
        }
Example #4
0
        public void ShouldAdd7Elements()
        {
            var elemets = new List <Shape2DItem <Int32> >()
            {
                Shape2DFactory.GetShape(0, 0, 10, 10),
                Shape2DFactory.GetShape(15, 0, 10, 10),
                Shape2DFactory.GetShape(30, 0, 10, 10),
                Shape2DFactory.GetShape(45, 0, 10, 10),
                Shape2DFactory.GetShape(60, 0, 10, 10),
                Shape2DFactory.GetShape(75, 0, 10, 10),
            };

            var tree = new RTree <Int32>();

            foreach (var item in elemets)
            {
                tree.Add(item);
            }

            Debug.WriteLine(tree.ToString());

            Assert.Fail();
        }