Subsonic 3.0 TestRepository „Suchen“ nicht funktioniert
-
26-09-2019 - |
Frage
Mit Subsonic 3, Ich habe eine einfache Klasse namens „ConferenceRepository“, das ein Verfahren, dass die Rendite ein Bündel von Konferenzen basierend auf ihrem Status hat. Ich teste diese mit SubSonic zum Testen in Unterstützung aufgebaut wird. Mein Setup der Repo sieht wie folgt aus:
// 2 Approved, 4 pending, 3 rejected
var data = new List<Conference>
{
new Conference {Approved = true, Rejected = false},
new Conference {Approved = true, Rejected = false},
new Conference {Approved = false, Rejected = false},
new Conference {Approved = false, Rejected = false},
new Conference {Approved = false, Rejected = false},
new Conference {Approved = false, Rejected = false},
new Conference {Approved = false, Rejected = true},
new Conference {Approved = false, Rejected = true},
new Conference {Approved = false, Rejected = true}
};
Conference.ResetTestRepo();
Conference.Setup(data);
Und dann schließlich meine Repo-Klasse führt diese Linie, Suche mit ():
return Conference.Find(c => c.Approved).ToList();
Das Problem ist, diese immer wieder alle Datensätze (9). Ich habe verschiedene Suchkriterien versucht, ohne Erfolg.
Wer weiß, was das Problem ist? Ich habe versucht, Gleichheitsvergleich in den tt Vorlagen Festsetzung wie hier beschrieben: Fixes für Probleme mit SubSonic 3 der TestRepository aber das nicht hilft.
Lösung
So von .Find Wechsel zu ...
return Conference.All().Where(c => c.Approved == true).ToList();
Solves es.
Andere Tipps
Should keinen Unterschied machen, aber haben Sie versucht:
return Conference.Find(c => c.Approved == true).ToList();