Split the test into several parametrised tests for each data type. Add more tests with different values. Fix the ReadBinary() function in order to fix the ReadDouble() function for negative values (the sign bit was being lost).