コード例 #1
0
        public void OwnershipDisposale()
        {
            // Create a hierarchy of objects -
            // Physics is the root
            //	Scene
            //		Actor1
            //		Actor2
            //	Material1
            //	Material2
            var physics = new MockPhysics();
            var scene   = new MockScene();
            var mat1    = new MockMaterial();
            var mat2    = new MockMaterial();
            var actor1  = new MockActor();
            var actor2  = new MockActor();

            ObjectTable.Add(1, physics, null);
            ObjectTable.Add(2, mat1, physics);
            ObjectTable.Add(3, mat2, physics);
            ObjectTable.Add(4, scene, physics);
            ObjectTable.Add(5, actor1, scene);
            ObjectTable.Add(6, actor2, scene);

            //

            // Dispose of the root object. This should dispose all object beneath it recursively
            physics.Dispose();

            Assert.IsTrue(physics.Disposed);
            Assert.IsTrue(mat1.Disposed);
            Assert.IsTrue(mat2.Disposed);
            Assert.IsTrue(scene.Disposed);
            Assert.IsTrue(actor1.Disposed);
            Assert.IsTrue(actor2.Disposed);
        }
コード例 #2
0
ファイル: ObjectTableTest.cs プロジェクト: zwagoth/PhysX.net
		public void OwnershipDisposale()
		{
			// Create a hierarchy of objects -
			// Physics is the root
			//	Scene
			//		Actor1
			//		Actor2
			//	Material1
			//	Material2
			var physics = new MockPhysics();
			var scene = new MockScene();
			var mat1 = new MockMaterial();
			var mat2 = new MockMaterial();
			var actor1 = new MockActor();
			var actor2 = new MockActor();

			ObjectTable.Add(1, physics, null);
			ObjectTable.Add(2, mat1, physics);
			ObjectTable.Add(3, mat2, physics);
			ObjectTable.Add(4, scene, physics);
			ObjectTable.Add(5, actor1, scene);
			ObjectTable.Add(6, actor2, scene);

			//

			// Dispose of the root object. This should dispose all object beneath it recursively
			physics.Dispose();

			Assert.IsTrue(physics.Disposed);
			Assert.IsTrue(mat1.Disposed);
			Assert.IsTrue(mat2.Disposed);
			Assert.IsTrue(scene.Disposed);
			Assert.IsTrue(actor1.Disposed);
			Assert.IsTrue(actor2.Disposed);
		}
コード例 #3
0
ファイル: ActorTests.cs プロジェクト: hwdtech/HWdTech.DS
        public void ActorsLoadTest()
        {
            Actor actor = new MockActor(waitUntilMessagesAreHandled);

            DateTime start = DateTime.Now;

            for (int i = 0; i < total; ++i)
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(
                                                 (o) => { actor.Receive(message); }
                                                 ));
            }

            Assert.True(waitUntilMessagesAreHandled.WaitOne(4000));
            DateTime end = DateTime.Now;

            Console.WriteLine("Execution time of test is {0}", end - start);
        }