{"data":{"markdownRemark":{"html":"<h2 id=\"unit-tests\"><a href=\"#unit-tests\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Unit tests</h2>\n<p>The Simudyne SDK comes with an integrated TestKit for isolating and testing agent behaviors and interactions in a controlled environment.</p>\n<p>More information can be found in <a href=\":version/reference/testing_logging/testkit\">TestKit</a>.</p>\n<h2 id=\"configuring\"><a href=\"#configuring\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Configuring</h2>\n<p>Model configuration can be done through a file or directly within the code. Model configuration files allow for the adjustment of parameters or conditions without the need to recompile the code.</p>\n<p>More information can be found in <a href=\":version/reference/configuration\">Configuration</a>.</p>\n<h2 id=\"debugging\"><a href=\"#debugging\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Debugging</h2>\n<p>Debugging in the Simudyne SDK is made easier with the built-in console layer. This layer is designed to provide the modeller with a dashboard to validate that the agents, and the system are behaving as expected.</p>\n<p>The ability to rapidly expose variables and statistics to the console are essential in ensuring that the observed behavior matches the expected results.</p>\n<p>Determinism is another factor that will impact the repeatability of an experiment. The Simudyne SDK uses atomic logging, and a configurable determinism health check to ensure determinism in a model.</p>\n<p>Models run using the determinism health check will go through a pre-simulation phase to check for divergence and log the tick and component where the divergence has occurred.</p>\n<p>More on the atomic logging and determinism can be found in <a href=\":version/reference/testing_logging/atomic-log\">Atomic Debug Logging</a> and <a href=\":version/reference/modelling/determinism\">Determinism</a>.</p>","headings":[{"value":"Unit tests","depth":2},{"value":"Configuring","depth":2},{"value":"Debugging","depth":2}],"frontmatter":{"title":"Testing, Configuring, and Debugging","toc":true,"experimental":null}},"site":{"siteMetadata":{"title":"Simudyne Docs","latestVersion":"2.6"}}},"pageContext":{"absolutePath":"/home/vsts/work/1/s/content/2.6/docs/features/debugging.md","versioned":false,"version":"2.6","kind":"docs","pagePath":"/features/debugging","chronology":{"prev":{"name":"Distributed Modelling","path":"/features/distribution"},"next":{"name":"Tutorials","path":"/tutorials"}},"lastUpdated":"2026-04-21T13:56:54.865Z"}}