[Feature Request] Cross-Simulation Test Suite?

Open
#101 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
38/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
r
Domain
testing

Research direction

Start by locating the test suite and the four entry points named in the issue: runSimulation and runArraySimulation, each in single-core and parallel modes. Review how existing simulation studies are defined, then design cross-path tests whose completion criterion is bit-identical results across all four execution paths.

Written by the indexing model from the issue text.

Description

Hi Phil,

I think this would be a lot of work, but I'd like to request that perhaps the test suite should have multiple simulation studies that run through: (1) single core runSimulation; (2) parallelrunSimulation; (3) single core runArraySimulation; and (4) parallel runArraySimulation.

I think this is help to make sure that the simulation results are bit-identical regardless of which path you take. Perhaps there is a clever way to write this test code by use of function factories

I mention this because:

  1. In my fork, I asked Claude to leverage the latest future and mirai features to enable load-balancing. Such that every parallel core is always doing something within a Design condition, instead of running it in waves. I believe this should improve simulation completion times substantially.
  2. It's just helpful to have a strong test suite because it helps block out potential bugs and ensures correctness. The upfront investment makes aggressive downstream refactorings and changes easier to accept.
Dominant language
R
Stars
64
Forks
25
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.