added full test coverage across all data types