It certainly is no worse. In a general DAG, it would be very hard to construct all the corner cases manually. If you start with a specific limited set, and the code passes these, you know nothing, Jon Snow. Except that the code works for these cases. In a next test run, you will learn nothing new about the property you are testing. If you are able to generate input data, you know the test will succeed for this set, but upon every new test, you will learn something new and you will continue to expand the set of cases for which the property holds true, which increases the evidence that the code might actually be correct at doing what you assume it should do.