> If somebody removes that line they had a reason.
That reason will be one of two things:
(1) They replaced it with something they thought would handle the same functionality (along with possibly some other functionality) in a beter way, or
(2) The requirement changed.
> That reason will make them remove the test that makes it fail as well.
If it was #2, sure (and in a test-first workflow, they would take out the test first). In case #1, they won’t take out the test, and if their implementation is wrong, the test will let them know.
> Tests that exist to check for the presence of a single line of code are deadweight.
Unless you have a very weird framework, tests don’t check the existence of lines of code, they check the behavior of units. The fact that the first-pass implementation in the same iteration in which the test was added is trivial doesn’t mean the function isn’t part of the contract that needs verified, and doesn’t mean that no one will ever change the intended implementation to a less direct one.