public void OnNodeEjectedTest()
        {
            var world = new World();
            var node  = new TestCollisionNode(1, new Vector3(), new[] { new Sphere {
                                                                            Radius = 2
                                                                        } });

            world.AddNode(node);
            Assert.IsTrue(world.Nodes.Contains(node));
            var node1 = new TestCollisionNode(1, new Vector3(), new[] { new Sphere {
                                                                            Radius = 2
                                                                        } });

            node.EjectNewNode(node1);
            Assert.IsTrue(world.Nodes.Contains(node1));
        }
        public void OnNodesCollisionTest()
        {
            var world = new World();
            var node1 = new TestCollisionNode(1, new Vector3(), new[] { new Sphere {
                                                                            Radius = 2
                                                                        } });

            world.AddNode(node1);
            var node2 = new TestCollisionNode(2, new Vector3(), new[] { new Sphere {
                                                                            Radius = 1
                                                                        } });

            world.AddNode(node2);
            var medium = new Medium
            {
                Triangle = new Triangle3(new(-10, 0, -10), new(0, 0, 10), new(10, 0, -10))
            };

            world.AddMedium(medium);
            world.Simulate(0.01);
            Assert.IsTrue(node1.CollisionRecord.Contains(node2));
            Assert.IsTrue(node2.CollisionRecord.Contains(node1));
        }