For example, there is a interface IMyInterface, and three classes support this interface:
IMyInterface
class A : IMyInterface { } class B : IMyInterface { }
Could create methods that take a parameter of type IMyInterface and have the actual test methods just call those methods passing in different concrete classes.