Namespace Serenity.ProceduralAnimator.Tests.Domain
Classes
ActivationDeltaTests
BoneIdTests
ColorRGBABehaviorTests
Additional behavioral coverage for ColorRGBA beyond ColorRGBATests: epsilon-based equality tolerance, unclamped lerp beyond [0,1], hash inequality, inequality operator true/false branches, and culture-agnostic ToString format.
ColorRGBATests
IdValueObjectsBehaviorTests
Additional behavioral coverage for the string-backed identifier value objects (BoneId, MaterialId, TransformId, StateKeyId) beyond their per-type tests: conversion round-trips, ordinal case sensitivity, inequality-operator false branch, and Equals(null) handling.
MaterialDeltaBehaviorTests
Additional behavioral coverage for MaterialDelta beyond MaterialDeltaTests: Count/IsEmpty transitions, negative-weight clearing, scale clamping above one, GetEntries liveness, clone independence, and combine into an empty target.
MaterialDeltaTests
MaterialIdTests
PoseDeltaBehaviorTests
Additional behavioral coverage for PoseDelta beyond PoseDeltaTests: additive position accumulation math, quaternion multiplication accumulation, negative-weight clearing, the >= 1 early-out, rotation slerp on scale, clone independence for both maps, and combine into an empty target.
PoseDeltaTests
ProceduralContextBehaviorTests
Additional behavioral coverage for ProceduralContext beyond ProceduralContextTests: custom default for missing keys, that GetState forwards the supplied default through to the reader, and that the same reader instance is retained (no defensive copy of the dependency).
ProceduralContextTests
QuaternionBehaviorTests
Additional behavioral coverage for Quaternion beyond QuaternionTests: multiplication correctness, Euler around each axis, AngleAxis magnitude, all three Slerp branches (clamping, shortest-path dot<0, near-identical lerp, general), normalization of already-unit input, and equality/hash edge cases.
QuaternionTests
StateKeyIdTests
TimeInfoBehaviorTests
Additional behavioral coverage for TimeInfo beyond TimeInfoTests: negative/large values are stored verbatim, and ToString embeds the formatted values using a culture-agnostic comparison.
TimeInfoTests
TransformDeltaBehaviorTests
Additional behavioral coverage for TransformDelta beyond TransformDeltaTests: Count/IsEmpty transitions, negative-weight clearing, scale clamping above one, GetScaleEntries liveness, clone independence, and combine into an empty target.
TransformDeltaPositionTests
Coverage for TransformDelta's position facet (SetLocalPositionOffset(TransformId, Vector3, float), GetPositionEntries()) and its independence from the scale and rotation facets — mirrors TransformDeltaRotationTests' conventions for the rotation facet.
TransformDeltaRotationTests
Coverage for TransformDelta's rotation facet (SetLocalZRotation(TransformId, float, float), GetRotationEntries()) and its independence from the scale facet — mirrors TransformDeltaTests/TransformDeltaBehaviorTests' conventions for the scale facet.
TransformDeltaTests
TransformIdTests
UiColorDeltaTests
Coverage for UiColorDelta — mirrors ActivationDeltaTests's shape (same last-write-wins/TransformId-keyed contract) plus TransformDeltaPositionTests's weight/Scale coverage, since UiColorDelta carries a per-entry Weight the way TransformDelta's facets do.
Vector3BehaviorTests
Additional behavioral coverage for Vector3 beyond Vector3Tests: general-case magnitude/normalize math, operator correctness, anti-commutativity of cross product, lerp midpoint, and hash-code inequality.