Type conversion and unit tests have been refactored

All types are now configured to register both conversion and operation
overrides.
Unit tests are now more "automated" - results are verified in code.