Compono.Composer
Compono¶
Compono¶
Composer Class¶
The public entry point for composing test data, per docs/public-api.md.
Inheritance System.Object → Composer
Remarks¶
docs/architecture.md's builder configuration (Composer.Create(builder => ...)) is Milestone 3 scope; profiles, registrations, and configuration rules build on it as later Milestone 3 phases land. Create<T>() resolves through the real Compono.CompositionContext/ resolution pipeline (Milestone 2) rather than dispatching into a generated ICompositionPlan<T> directly.
| Methods | |
|---|---|
| Create() | Creates a new Composer with no explicit configuration - equivalent to Create(Action<CompositionBuilder>) with an empty callback. |
| Create(Action<CompositionBuilder>) | Creates a new Composer from an explicit configuration callback. |
| Create<T>() | Composes an instance of T - a new root composition operation, with its own scope and path, resolved through the same pipeline as any nested request. |
| CreateMany<T>(int) | Composes count independent instances of T - each its own root composition operation (its own scope, path, and active-construction-frame stack), per the Execution Flow section of docs/plans/0002-milestone-2-core-composition-engine.md. Item i's root seed forks from this composer's batch seed (this composer's configured WithSeed value, or a freshly generated one if none was configured) via "CreateMany" then i (docs/adr/0012-composition-path-identity-and-deterministic-random-forking.md) - no value is shared across items. |
| CreateRow(Type) | Creates a new CompositionRow - one composition scope for several sibling top-level parameter requests (e.g. one xUnit theory row's own method parameters), sharing one seed, one shared-value scope, and one pre-rooted path. See docs/adr/0021-row-composition-entry-point-for-test-framework-integrations.md. |