public void Clone()
        {
            DynamicAabbTree <int> partition = new DynamicAabbTree <int>();

            partition.GetAabbForItem         = i => new Aabb();
            partition.EnableSelfOverlaps     = true;
            partition.Filter                 = new DelegatePairFilter <int>(pair => true);
            partition.EnableMotionPrediction = true;
            partition.MotionPrediction       = 0.25f;
            partition.OptimizationPerFrame   = 0.1f;
            partition.RelativeMargin         = 0.33f;
            partition.Add(0);
            partition.Add(1);
            partition.Add(2);
            partition.Add(3);

            var clone = (DynamicAabbTree <int>)partition.Clone();

            Assert.NotNull(clone);
            Assert.AreNotSame(clone, partition);
            Assert.AreEqual(clone.EnableSelfOverlaps, partition.EnableSelfOverlaps);
            Assert.AreEqual(clone.Filter, partition.Filter);
            Assert.AreEqual(clone.EnableMotionPrediction, partition.EnableMotionPrediction);
            Assert.AreEqual(clone.MotionPrediction, partition.MotionPrediction);
            Assert.AreEqual(clone.OptimizationPerFrame, partition.OptimizationPerFrame);
            Assert.AreEqual(clone.RelativeMargin, partition.RelativeMargin);
            Assert.AreEqual(0, clone.Count);

            clone.Add(0);
            Assert.AreEqual(4, partition.Count);
            Assert.AreEqual(1, clone.Count);
        }
Example #2
0
        public void Clone()
        {
            DynamicAabbTree<int> partition = new DynamicAabbTree<int>();
              partition.GetAabbForItem = i => new Aabb();
              partition.EnableSelfOverlaps = true;
              partition.Filter = new DelegatePairFilter<int>(pair => true);
              partition.EnableMotionPrediction = true;
              partition.MotionPrediction = 0.25f;
              partition.OptimizationPerFrame = 0.1f;
              partition.RelativeMargin = 0.33f;
              partition.Add(0);
              partition.Add(1);
              partition.Add(2);
              partition.Add(3);

              var clone = (DynamicAabbTree<int>)partition.Clone();
              Assert.NotNull(clone);
              Assert.AreNotSame(clone, partition);
              Assert.AreEqual(clone.EnableSelfOverlaps, partition.EnableSelfOverlaps);
              Assert.AreEqual(clone.Filter, partition.Filter);
              Assert.AreEqual(clone.EnableMotionPrediction, partition.EnableMotionPrediction);
              Assert.AreEqual(clone.MotionPrediction, partition.MotionPrediction);
              Assert.AreEqual(clone.OptimizationPerFrame, partition.OptimizationPerFrame);
              Assert.AreEqual(clone.RelativeMargin, partition.RelativeMargin);
              Assert.AreEqual(0, clone.Count);

              clone.Add(0);
              Assert.AreEqual(4, partition.Count);
              Assert.AreEqual(1, clone.Count);
        }