Clear previous parse results before starting a new parse #5
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.
These changes are another outcome of integrating Popl into our unit tests. The idea of our tests is to set up options once during static initialization, and check whether different arrays of arguments are parsed to a meaningful output or not.
Thus we need to perform a cleanup values before parse starts, but keep names and types of each option. As I see, the "non-options" results are cleared already, so I put my code nearby to it.
Cleaning ValueTemplate is straightforward, however I don't understand if count_ cannot be equal to options_.size(). If yes, it might be removed.
Switch is more tricky, as it updates remote value in ctor. I changed its behavior, so on clears it assigns to false, and does otherwise on parse. In my implementation, options_ vector of Switch is not able to contain more than 1 element, however I consider that as a natural thing, as there are only two states possible for it (switch exists in argv or it does not)