4 ms·
So proving that `min(number, number)` returns a number is 99% as good as a unit test which shows that it returns the smallest number?
by goto11 4y ago
So proving that `min(number, number)` returns a number is 99% as good as a unit test which shows that it returns the smallest number?
- kajaktum 4y agoyes because the set of possible inputs for A -> C is basically infinite. But min(A,B)=C is only 2^64^2. Why shouldn't you test for string, object, object of object, object with a certain kind of shape, or Number class as opposed to number primitive? How can you know it will or won't work from a unit test perspective? >inb4 just document it that is what types are for
- goto11 4y agoBut the purpose of unit tests is to show that the code under test is correct, i.e. that min() return the smallest input, not just a random value of the same type. Static typing cannot do that, so it is in no way a substitute for unit tests. Static typing is a useful tool, just not a substitute for any unit tests. The risk of static typing is when it becomes a goal in itself and you start thinking correctness means the program satisfies the type checker.