docopt/docopt.net — pull request #6 by kyle-fritz-zocdoc (2013-12-19 23:19:35+00:00)
Title: Make `ValueObject.IsInt` reflect the object's ability to convert to integer

This PR implements suggestions made in docopt.net [issue #5](https://github.com/docopt/docopt.net/issues/5). The `IsInt` property on `ValueObject` now reflects whether the value can be converted to an integer. Consumers of this library will likely check the value of this property prior to evaluating the related `AsInt` property.

The previous business logic is now contained in the internal property `IsOfTypeInt`, and usages have been updated appropriately.

Unit tests are located in ValueObjectTests.cs.

This PR also contains some commits that I made in the same spirit of hiding implementation details from the consumer. The `ValueObject` constructors and its `Add()` method have been made internal. However, since those changes are unrelated to the `IsInt` issue, you may decide to close this PR. If you do, consider merging [the commits without these added refactorings](https://github.com/kyle-fritz-zocdoc/docopt.net/compare/ValueObjectProperties).