Namespace MathAssertions.TUnit
Classes
- ArrayAssertions
Fluent double[] / float[] array assertions delegating to the MathTolerance span overloads. Arrays are used at the adapter surface rather than spans because TUnit's assertion-builder infrastructure cannot capture ref-struct values across an
awaitboundary; ReadOnlySpan<T> remains accessible to callers viaMathTolerance.IsApproximatelyEqualdirectly when zero-allocation matters.
- ComplexAssertions
Fluent Complex assertions delegating to MathTolerance.
- Geometry3DAssertions
Fluent assertions over the MathAssertions.Geometry3D primitives: triangle / point-set property predicates, containment, closest-point distance, intersection, and pointcloud aggregates.
- LinearAlgebraAssertions
Fluent LinearAlgebra assertions for Vector3 pair properties and Vector3-array linear independence. Matrix-side invariants live on MatrixAssertions.
- MatrixAssertions
Fluent Matrix4x4 assertions covering element-wise equality and the matrix invariants from LinearAlgebra.
- NumberTheoryAssertions
Fluent NumberTheory assertions over long integers. The non-predicate helpers (
GreatestCommonDivisor,LeastCommonMultiple) are not exposed as fluent assertions in 0.1.0; consumers can call them statically and apply ScalarAssertions on the result.
- PlaneAssertions
Fluent Plane assertions. Distinguishes component-wise equality (treats
(n, d)and(-n, -d)as different) from geometric equivalence (treats them as the same plane).
- PoseAssertions
Fluent pose / rigid-transform assertions. A pose is a position and an orientation together; these assertions compare the two halves with separate tolerances (position as a Euclidean distance in the caller's length unit, rotation as a geodesic angle in degrees) and report one combined diagnostic that names which half missed. A single shared tolerance would be wrong because the two quantities carry different units.
- QuaternionAssertions
Fluent Quaternion assertions. Distinguishes component-wise equality (treats
qand-qas different) from rotational equivalence (treats them as the same rotation, the SO(3) double-cover view).
- ScalarAssertions
Fluent scalar (double / float) assertions delegating to MathTolerance. The wrappers exist so consumers can write
await Assert.That(value).IsApproximatelyEqualTo(expected, tolerance)rather thanawait Assert.That(MathTolerance.IsApproximatelyEqual(value, expected, tolerance)).IsTrue().
- SequencesAssertions
Fluent Sequences assertions over double arrays plus the generic length predicates over any
T[]. Arrays are used at the adapter surface for the same ref-struct reason documented on ArrayAssertions; null arrays are rejected at entry.
- StatisticsAssertions
Fluent Statistics assertions over double arrays. Null arrays are rejected at entry.
- VectorAssertions
Fluent System.Numerics vector assertions delegating to MathTolerance. Component values widen to double internally so a tight tolerance is honored at full precision.