This release fix a bug (re)introduced due to recent minor refactoring to the internal cache of options (OptionMap type
). The problem was corrected and four unit-tests were introduced to prevent the recurrence of this problem (see OptionMapFixture.cs
The bug, very easy to fix, lowered anyway the usability of the library. It causes the oveloads of
CommandLineParser::bool ParseArguments(string args, object options)
CommandLineParser::bool ParseArguments(string args, object options, TextWriter helpWriter)
to raise an exception (originated in OptionMap
type) instead of return a false value as result of bad input.
How I discovered this bug? It was during the verification of the steps of a tutorial published on my blog.
, that target beginners
, teaches how to use this library in static way: removing the CommandLine.dll
dependency due to inclusion of its code a target application code base).
Unit-tests are made to lower the power of the old concept that says: If it works, don't change it!
(I hate this kind of mentality!). Anyway any change made to critical parts of the code should be well covered by unit-tests, even if the test may appear trivial.
This project was only in part developed with TDD
(Test Driven Design/Development), but unit tests were present till the first alpha release published on GotDotNet