# pm4exunit v26.11.12 - Table of Contents > Process Intelligence and Conformance Checking for ExUnit (pm4pytest for Elixir) ## Pages - [pm4exunit](readme-1.md) - [pm4exunit documentation](readme-2.md) - [Write your first conformance test](first-conformance-test.md) - [Allow several valid paths](model-multiple-paths.md) - [Enforce a latency SLA](enforce-a-latency-sla.md) - [Assert that a trace is rejected](refute-a-trace.md) - [Emit TAP or JUnit output](emit-tap-and-junit.md) - [Assert on a plain list of activities](assert-on-plain-lists.md) - [API reference](api.md) - [How token-based replay scores a trace](token-based-replay.md) - [Why a session process per test](session-per-test.md) ## Modules - [Pm4ExUnit](Pm4ExUnit.md): Process Mining, Conformance Checking, and Temporal SLA Verification for ExUnit. The Elixir native counterpart to `pm4pytest`. - [Pm4ExUnit.Assertions](Pm4ExUnit.Assertions.md): ExUnit assertion macros for process intelligence and conformance checking. - [Pm4ExUnit.Conformance](Pm4ExUnit.Conformance.md): Formal Token-Based Replay and FSM Conformance Engine for Elixir / ExUnit. Validates traces against allowed finite state machine transitions and execution paths. Calculates token replay fitness: fitness = 0.5 * (1 - missing / consumed) + 0.5 * (1 - remaining / produced) - [Pm4ExUnit.Reporter](Pm4ExUnit.Reporter.md): Generates machine-parseable test output (TAP v13, JUnit XML) for process intelligence runs. Matches pm4pytest reporters. - [Pm4ExUnit.Session](Pm4ExUnit.Session.md): Session process and state manager for test instrumentation. Maintains events, objects, and specs for the currently running ExUnit test. - [Pm4ExUnit.Temporal](Pm4ExUnit.Temporal.md): Temporal Latency SLA Engine for ExUnit. Validates durations between specified process activities against strict thresholds. - [Pm4ExUnit.TraceCollector](Pm4ExUnit.TraceCollector.md): Collects process execution traces and events in-memory during an ExUnit test case. Provides structured OCEL 2.0 object and event recording.