Testing Generated Code ====================== Ingot generates a Unity test suite (``test_dm.c``) that validates: - **Default values**: every key returns its declared default after init - **Set/get roundtrip**: set a test value, read it back, verify equality - **Read-only rejection**: SetIntegralTypeByKey returns error for read-only keys - **Unchanged detection**: setting the same value returns SET_VALUE_UNCHANGED - **String roundtrip**: set and get for read-write string keys - **Persistence roundtrip**: save, reset, load, verify (when persistent keys exist) To run the generated tests: :: # Initialize Unity submodule (first time) git submodule update --init deps/unity # Build and run cmake -S generated/ -B build/ -DUNITY_DIR=deps/unity/src cmake --build build/ ./build/test_dm Or use the invoke task which runs all models in both events/no-events modes: :: invoke test