opensim-creator
opensim-creator copied to clipboard
Add unit tests that perform QA-like exercises (e.g. loading example models, simulating them, etc.)
Estimate: 6-12d
- Go through the QA lists from previous releases and find things that would fit a GUI-less unit test
- Add that to the test suite
- Stop manually testing it in the future
Here's some unittest ideas from previous QAs:
These QA steps can probably be automated via UI-less unit tests:
- [x] Muscle lines of action rendering behaves as expected for a variety of the example files (#661)
- [x] Colored muscles behave as expected (#663)
- [x] Can add any component type into the model without any obvious issues (having incorrect default values etc. is permissable because that's a backend issue that needs to be manually patched later) - #298
- [x] Can simulate any model with a forward-dynamic simulator. All example models simulate fine - #663
- [x] In the mesh importer, can create a model in the mesh importer that contains cyclical joint graphs (e.g. robot model with multiple feet) - #664
- [x] Deletion kind of works for things like muscles, etc. - #665
- [x] When deletion doesn't work, it prints an error to the log - #665
- [x] An STO file can be imported from OpenSim 4.0, 4.1, 4.2, 4.3, and 4.4 (beta) - #666
- [x] All STO files from the
opensim-models
repository can be loaded and return reasonable-looking results - #666 - [ ] The simulator toolbar scrubber doesn't behave bizarrely with user input (esp. sim speed editor)
- [ ] Can import multiple muscle plotter curves from a single CSV file
- [ ] The "Reload Model" button reloads mesh files
- [ ] Inertia edits are now correctly applied to the model
- [ ] Can edit the coordinates of an existing model without any issues
- [ ] All component actions (e.g. adding subcomponents, isolation, etc.) work as expected in the editor
- [ ] The number of simulation reports is as-expected (inclusive time range, one report at start, one report per report interval, one report at end)
- [ ] Can play with the muscle plotting feature
- [ ] The 3D viewers have the option to customize how muscles are visualized/decorated. This works in both the simulator and editor screen
- [ ] Any defaulted names (coord names, etc.) should be within expectations
- [ ] Adding new components should default any weird property names to something sane
- [ ] The mesh importer scene always exports 1:1 to an OpenSim model without moving/rotating anything in an unusual way
- [ ] The mesh importer scene can always be exported into a mesh editor tab
- [ ] The mesh importer scene can be exported to an osim
- [ ] When exporting from the mesh importer, scene scale factors (e.g. for tiny insect models) are also exported
- [ ] All contextual actions work for common component types
- [ ] Show/Show Only This/Hide works as expected (give or take)
- [ ] Can (optionally) draw Scapulothoracic Joints, which emits an extra ellipsoid to the 3D scene
- [ ] Any plot in the simulation details panel can be exported to CSV (+opened?)
- [ ] All plots in the simulation details panel can be exported to a single CSV
- [ ] Can open multiple muscle plots at once
- [ ] Editing a model causes a replot of all open plots (multiple allowed)
This higher-level issue is being dropped from 0.4.1 because there definitely isn't enough time to implement all of the above tests (the estimate basically doubled after reviewing the kind of tests already manually being done). Instead, I'll try and tackle the highest-value ones in 0.4.1 and chip away at this issue over the next few release cycles.
These were added gradually during 2023 and 2024Q1/2 and are good enough for now