added tests for interfaces as well as ABCs (with cleanup!)