NatLabRockies / NatLabRockies/H2Integrate

Reduce the number of tests that use computationally expensive cases unnecessarily

Open
#779 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
26
Forks
44
Avg merge
3d 22h
Merged PRs (30d)
16

Description

Reduce the number of tests that use computationally expensive cases unnecessarily

A few tests (across unit, regression, and integration) are using examples or cases that are unnecessarilyc omputationally expensive.
For example, test_sql_timeseries_to_csv.py uses a case that takes minutes to run, whereas we could use one that runs in seconds while still fully testing the capability the test handles.

Proposed solution

Generally change the cases/examples used in tests, especially for the unit test suite.
It may make sense to add new cases if you can make simpler ones that take less time to test the same capability.
Any test that runs HOPP (esp. with floris) or has an optimal controller unnecessarily would be the lowest-hanging fruits.

Alternatives considered

Additional context

Contributor guide

Open the contributing guide

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.

Research direction

Start with test_sql_timeseries_to_csv.py and identify other unit, regression, and integration tests that run HOPP, floris, or unnecessary optimal controllers. Compare the expensive cases with simpler cases that exercise the same capability, then run the affected tests to confirm equivalent coverage and shorter execution times.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
performance, testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.