This test seems to be dependent on the order of operations. There's no particular reason I see why bound_min_max has to test the minimum limit first. 

In the specific example, of min = 10, max = -10, and the test value = min - 1 = 10 - 1 = 9

```
if (val < min)
	return min;
if (val > max)
	return max;
```

9 < 10, so we return min(10). However, if the program were to be rewritten, we would first evaluate 9 > -10, which in this case returns max (-10). So the unit test would fail but the function might still be perfectly valid.