I'm still a little troubled by this. What you're wanting to test is that the `Accessor.__str__` executes without an error, but there's no assurance here that said method is actually being executed. And this is a real concern, demonstrated by the previous mistake of doing `str(sim)`. I just want something basic to actually make sure that the method that you think you're testing is the one being tested. Unit tests are okay places to do hacky things like `.split('Signal`, because it's pretty clear and easy to adjust if/when something changes in the future.

Alternatively, if the `Accessor` classed was moved outside of the local scope (which it probably should be...), then you could add an additional `assert sim.signals.__str__.__func__ == Accessor.__str__.__func__`.