2010-01-28 5 views
1

J'essaie d'obtenir Figure 3 Base de données de faux IRepository en utilisant l'exemple ici http://msdn.microsoft.com/en-us/magazine/dd263069.aspxMockUnitOfWork « Impossible de résoudre le symbole MockUnitOfWork »

public class InMemoryRepository : IRepository 
{ 
    private readonly Cache<Type, object> _types; 
    private MockUnitOfWork _lastUnitOfWork; 

    public InMemoryRepository() 
    { 
     _types = new Cache<Type, object>(type => 
     { 
      Type listType = typeof(List<>).MakeGenericType(type); 
      return Activator.CreateInstance(listType); 
     }); 
    } 

    private IList<T> listFor<T>() 
    { 
     return (IList<T>)_types.Get(typeof(T)); 
    } 

    public T Find<T>(long id) where T : Entity 
    { 
     return listFor<T>().FirstOrDefault(t => t.Id == id); 
    } 

    public void Delete<T>(T target) 
    { 
     listFor<T>().Remove(target); 
    } 

    public T[] Query<T>(Expression<Func<T, bool>> where) 
    { 
     var query = from item in listFor<T>() select item; 
     return query.Where(where.Compile()).ToArray(); 
    } 

    public void Save<T>(T target) 
    { 
     listFor<T>().Add(target); 
    } 
} 

Je reçois « Impossible de résoudre le symbole MockUnitOfWork. J'ai installé/référencé NUnit/Moq/Rhino.Mock mais je ne trouve aucune référence à MockUnitOfWork. Toute aide appréciée.

Répondre

0

Vous pouvez simplement supprimer le MockUnitOfWork, parce qu'il est jamais utilisé dans le code.

je pense qu'il est un reste qui reste après un refactoring.

+0

Merci d'avoir remarqué! Malheureusement, le code gémit sur le cache privé en lecture seule _types; dire que le cache n'a pas de paramètres de type :( – Hunt

+0

D'après ce que l'assemblage est VS 'obtenir cache'? Je suis assez sûr que cela est aussi un type défini par l'auteur. La seule classe' cache' avec laquelle je suis familier est pour ASP .NET. la classe '' cache semble être délégué comme 'Func ()' qui prend un paramètre de type et un '' Func et décide et retourne un 'object' du type spécifié (qui doit être jeté). dans ce cas, l'auteur passe un '' Func qui sera exécuté lorsqu'un utilisateur demande une liste '<>' et utilisera le 'Activator' instancier la collecte, puis le retourner. – Jay

+0

je regarderai par exemple bien documenté .. code Merci – Hunt

0

L'article ne dit pas explicitement rien de ce que MockUnitOfWork est, mais comme il est un type explicitement déclarée, il doit y avoir une maquette roulées à la main.

En dépit de son équivalence sémantique, il n'a rien à voir avec Moq ou RhinoMocks.

Si vous pouvez télécharger le code source de l'article, je suis sûr que vous trouverez une classe appelée MockUnitOfWork dans le projet de test.

+0

Malheureusement, il n'y a pas de code source avec ce code d'exemple, ( Merci pour votre intérêt. – Hunt

Questions connexes