Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For iiasa/ixmp#557, I will next need functions that allow removal of individual keys from Indexsets, Tables, and Parameters. This PR adds such a function for Indexsets.
While working on that function, I found myself thinking: wouldn't it be nice to get some sort of warning if you're trying to remove data from an Indexset, but that Indexset doesn't have that data? This can be checked easily in sqlalchemy, so I added
log.info()
messages for two cases.In order to test that these messages are actually logged, I copied over the
assert_logs()
utility function we have in ixmp and enhanced it with some type hints. Thanks to @khaeru for writing that in the first place!Note
This PR looks larger than it is because I swapped the order of the tests in the
data/
subfolder to be consistent with the other optimization tests. There's no need to verifytest_list_indexset
andtest_tabulate_indexset
again.