public async Task Test2() { // ARRANGE var dt = new DisposeTester(output); // ACT DelayedDisposer.SafelyDispose((IDisposable)dt); // ASSERT dt.CheckNegative(); await dt.WaitForDisposal(); dt.Check(); }
public void RefreshDisposesExistingObjectFactory_SPRNET479() { string tmp = typeof(DestroyTester).FullName; Console.WriteLine(tmp); IApplicationContext ctx = new XmlApplicationContext("assembly://Spring.Core.Tests/Spring.Context.Support/objects.xml"); DestroyTester destroyTester = (DestroyTester)ctx.GetObject("destroyTester"); DisposeTester disposeTester = (DisposeTester)ctx.GetObject("disposeTester"); Assert.IsFalse(destroyTester.IsDestroyed); Assert.IsFalse(disposeTester.IsDisposed); ((IConfigurableApplicationContext)ctx).Refresh(); Assert.IsTrue(destroyTester.IsDestroyed); Assert.IsTrue(disposeTester.IsDisposed); }
public void DisposeRecipient() { var target = new Messenger(); var tester = new DisposeTester(target); tester.Register(); int c = target.Publish(Message.Empty); Assert.AreEqual(1, c); Assert.IsTrue(tester.Received); tester.Received = false; tester = null; GC.Collect(); GC.WaitForPendingFinalizers(); c = target.Publish(Message.Empty); Assert.AreEqual(0, c); }
public async Task Test1() { // ARRANGE output.WriteLine("Starting timed test..."); var dt = new DisposeTester(output); // ACT output.WriteLine("Adding to safe disposer..."); DelayedDisposer.SafelyDispose(dt); // ASSERT output.WriteLine("Checking negative..."); dt.CheckNegative(); output.WriteLine("Waiting for disposal..."); await dt.WaitForDisposal(); output.WriteLine("Checking positive..."); dt.Check(); output.WriteLine("All done. Test should not hang anymore."); }
public async Task Test5() { // ARRANGE var dt = new DisposeTester(output); var dt2 = new DisposeTester(output); var dtt = dt; // ACT DelayedDisposer.AtomicExchange(ref dt, dt2); // ASSERT dtt.CheckNegative(); dt2.CheckNegative(); dt.CheckNegative(); await dtt.WaitForDisposal(); dtt.Check(); dt2.CheckNegative(); dt.CheckNegative(); Assert.Equal(dt2, dt); }
public void DisposeRecipient() { var target = new Messenger(); var tester = new DisposeTester(target); tester.Register(); int c = target.Publish(Message.Empty); Assert.AreEqual(1, c); Assert.IsTrue(tester.Received); tester.Received = false; tester = null; GC.Collect(); GC.WaitForPendingFinalizers(); c = target.Publish(Message.Empty); Assert.AreEqual(0, c); }