Recently I found out that Sigma Designs partly opened ZWave protocol specification to the public. So I decided to cover ZWaveLib (used in HomeGenie and developed mostly by Gene) with unit tests to be sure that it conforms the standards.
Now I’m writing tests for command classes, from the bottom of the list to top. I’m adding comments to classes and to the tests with references to the documentation and also add new methods, that should be implemented, but were not implemented yet. I also did some refactoring to make code testable and more readable, so right now it’s not 100% compatible with MIG library. At the end of this rework, I will need to tune up MIG library to use the new version of ZWaveLib. But I’m trying to make things backward compatible and mark deprecated methods with ObsoleteAttribute.
I configured automatic building, testing, and test covering with Appveyor and Codecov.
If you are a developer and could contribute to this activity - I encourage you to do so.
Here is the link to my fork of repository https://github.com/Bounz/zwave-lib-dotnet/tree/zwavelib-tests.
Current progress: