Added type substitution

This will allow explicit substitution for testing generic classes. #22
Added example test for a generic class

#22 #1