# `Supertester.ConcurrentHarness.Scenario`
[🔗](https://github.com/nshkrdotcom/supertester/blob/v0.6.0/lib/supertester/concurrent_harness.ex#L38)

Struct describing a prepared concurrent scenario.

Exposed primarily for introspection of generated scenarios—most callers
should rely on `Supertester.ConcurrentHarness` helpers instead of
constructing this struct manually.

# `t`

```elixir
@type t() :: %Supertester.ConcurrentHarness.Scenario{
  call_timeout_ms: pos_integer(),
  cast_sync_message: term(),
  chaos: Supertester.ConcurrentHarness.chaos_fun() | nil,
  cleanup: (pid(), map() -&gt; any()) | nil,
  default_operation: :call | :cast,
  invariant: (pid(), map() -&gt; any()),
  mailbox: keyword() | nil,
  metadata: map(),
  performance_expectations: keyword(),
  setup: (-&gt; {:ok, pid()} | {:ok, pid(), map()} | {:error, term()}),
  strict_cast_sync?: boolean(),
  threads: [[Supertester.ConcurrentHarness.operation()]],
  timeout_ms: pos_integer()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
