Repository-Pattern und unit-Tests aus dem Speicher

Habe ich einige Implementierungen von Repository-Muster, sehr einfach und intuitiv, Formular verknüpft anderen Antworten hier im stackoverflow

http://www.codeproject.com/Tips/309753/Repository-Pattern-with-Entity-Framework-4-1-and-C
http://www.remondo.net/repository-pattern-example-csharp/

public interface IRepository<T>
{
    void Insert(T entity);
    void Delete(T entity);
    IQueryable<T> SearchFor(Expression<Func<T, bool>> predicate);
    IQueryable<T> GetAll();
    T GetById(int id);
}

public class Repository<T> : IRepository<T> where T : class, IEntity
{
    protected Table<T> DataTable;

    public Repository(DataContext dataContext)
    {
        DataTable = dataContext.GetTable<T>();
    }
...

Wie kann ich es einstellen, um zu arbeiten aus dem Speicher, wenn dabei die unit-Tests? Gibt es eine Möglichkeit, zu bauen, ein DataContext (Linq-Tabelle von allem, was im Speicher? Meine Idee war, erstellen einer Sammlung (Liste, Dictionary...) und stub, wenn unit-Tests.

Dank!

BEARBEITEN:
Was ich brauche, so etwas wie dieses:

  • Ich habe ein Klasse Buch
  • Habe ich eine Klasse Bibliothek
  • In der Library Konstruktor Initialisiere ich das repository:

    var bookRepository = new Repository<Book>(dataContext)

  • Und die Library Methoden verwenden Sie das repository, wie in diesem
    public Book GetByID(int bookID)
    { 
        return bookRepository.GetByID(bookID)
    }

Beim testen, ich will einen Speicher-Kontext. Wenn in der Produktion, werde ich Ihnen eine echte Datenbank-Kontext.

Ich habe einige Beispiel-code nach Ihrem Wunsch.

InformationsquelleAutor Kaikus | 2013-07-27

Schreibe einen Kommentar