I have the following interfaces. I'm not sure how I can use Moq to mock IRepository due to the fact that T is shared. I am sure there is a way, but I did not find anything by browsing here or on Google. Does anyone know how I can achieve this?
I am new to Moq, but I see that you need time to learn it.
/// <summary> /// This is a marker interface that indicates that an /// Entity is an Aggregate Root. /// </summary> public interface IAggregateRoot { } /// <summary> /// Contract for Repositories. Entities that have repositories /// must be of type IAggregateRoot as only aggregate roots /// should have a repository in DDD. /// </summary> /// <typeparam name="T"></typeparam> public interface IRepository<T> where T : IAggregateRoot { T FindBy(int id); IList<T> FindAll(); void Add(T item); void Remove(T item); void Remove(int id); void Update(T item); void Commit(); void RollbackAllChanges(); }
Chris
source share