It reminds me of an experience I had at work. I wrote some tests for a feature that would store some values in a database. However, my tests would always fail. Retrieved data would never match the input data. I eventually decided to trace exactly what was happening in the database and found a stored procedure ran whenever I entered data. It "fixed" my input data. When I told another dev about this they said their "database expert" said it was "good design".
Absolute insanity. Never, ever, "correct" deliberate input. Validate it and tell the user what is wrong. 1) This raises awareness 2) The desired behavior is easier to test.