no, I don't need `if self`

you're right that checking the version (and `self.tc_name`) is stupid; if no version was specified (e.g. with `[goolf]`), the version will be set to `0.0.0` anyway...

extended unit tests to cover `as_dict()` too