My coworker likes to see all of our unit tests pass (as would anyone) and he argues that some of the failing tests of a system he wrote are unnecessary "noise" since they all involve the validity of the data and a separate system in our stack is supposed to be responsible for validation.
Personally, I think keeping the tests allows you to at least understand/acknowledge some of the failing points even if you consciously choose not to fix them.
Is he right in wanting them removed since they are "noise" compared to the other tested functionality and will probably never be fixed?
Just for context. Here are some concrete examples. They all involve code paths that are used, but passing non-validated data into the routines causes unexpected behaviors.:
- passing in NaN results in a false positive.
- passing in a value that overflows a double's significant figures results in false when true should have been returned. Rounding should not occur.
- "139.9999999999999" -> Double.TryParse() -> 139.9999999999999
- "139.99999999999999" -> Double.TryParse() -> 140