unit tests: interface for entity framework dbcontext, fake classes for entity framework, test classes for repository, unit tests for repository