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