MOQ est bon pour se moquer des interfaces, mais ne fonctionne pas aussi bien avec des classes concrètes. Donc, au lieu de se moquer de la classe concrète, demandez l'interface :
var userStore = new Mock<IUserStore<PreRegistrationMVC.Models.ApplicationUser>>();
Aussi ApplicationUser
devrait être POCO, donc pas besoin de s'en moquer, il suffit de créer son instance sans MOQ et de l'utiliser dans les tests.