reset method

void reset()

Clear all recorded state and recreate stream controllers.

Existing stream subscriptions are cancelled when the old controllers are closed — re-subscribe to events and progress after calling reset.

Implementation

void reset() {
  // M-04 fix: close and recreate stream controllers so old subscriptions
  // (from a previous test phase) do not receive events from the new phase.
  _eventsController.close();
  _eventsController = StreamController<TaskEvent>.broadcast();
  _progressController.close();
  _progressController = StreamController<TaskProgress>.broadcast();

  enqueued.clear();
  chains.clear();
  cancelled.clear();
  cancelledTags.clear();
  cancelAllCalled = false;
  paused.clear();
  resumed.clear();
  taskStatuses.clear();
  tasksByTag.clear();
  enqueueResultByTaskId.clear();
  allTagsResult = [];
  allTasksResult = [];
  enqueueResult = ScheduleResult.accepted;
}