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); }
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); }