Hi
On 22.09.2017, at 02:56, David T. Lewis lewis@mail.msen.com wrote:
On Thu, Sep 21, 2017 at 01:53:45PM -0400, Ian Trudel wrote:
VersionNumber was particular from the ground up. It was not documented until I wrote VersionNumberTest back in 2009.
The fact that it was not supporting 0 was odd but the tests were written to conform to what was already there.
The idea was if someone wants to change VersionNumber, they could change VersionNumberTest first and ensure an easy transition while retaining (some or full) compatibility.
Ian,
Thank you for this. Writing VersionNumberTest was exactly the right thing to do in this case, and the current discussion shows why it was important for you to do it.
I was just about to respond to this thread with something along the lines of "change it any way you want, but please be sure to document it with unit tests".
And of course you also provided a meaningful class comment in VersionNumberTest that provides some background for this discossion, so thanks also for that.
There's actually a pretty good (semantic) Version number implementation in Metacello (done by Dale in 2012):
https://github.com/Metacello/metacello/tree/master/repository/Metacello-Core...
and another based on Mozilla recommendations:
https://github.com/Metacello/metacello/tree/master/repository/Metacello-Core...
They both have tests
Best regards -Tobias