public void TestStateMachineFinalizerInvoked() { var tracker = new GCTracker(); var config = this.GetConfiguration().WithTestingIterations(2); TestingEngine engine = TestingEngine.Create(config, (IActorRuntime r) => { var setup = new SetupEvent(tracker); r.CreateActor(typeof(M), setup); }); engine.Run(); // Force a full GC. GC.Collect(2); GC.WaitForFullGCComplete(); GC.WaitForPendingFinalizers(); Assert.True(tracker.IsFinalized, "Finalizer was not called."); }
private void InitOnEntry(Event e) { this.Tracker = (e as SetupEvent).Tracker; }
protected override Task OnInitializeAsync(Event initialEvent) { this.Tracker = (initialEvent as SetupEvent).Tracker; return(Task.CompletedTask); }
internal SetupEvent(GCTracker tracker) { this.Tracker = tracker; }