I don't think this test does what you claim it does. The last verify on 105 overrides the previous verify on line 102 and only guarantees that thread.interrupt() is called at least once. Instead I think you want this:
```
verify(thread, once()).interrupt(); 
```
This will guarantee it is only called exactly once instead of at least once. However, this doesn't ensure that it was only called on the last call to stop. I'm not sure if there is a way to externally verify that behavior.