Subsonic 3.0 TestRepository "Найти" не работает - PullRequest
0 голосов
/ 28 сентября 2010

Используя Subsonic 3, у меня есть простой класс с именем «ConferenceRepository», у которого есть метод, который возвращает группу конференций в зависимости от их статуса.Я тестирую это с помощью встроенной поддержки SubSonic для тестирования.Моя установка репо выглядит следующим образом:

// 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);

И затем мой класс Repo в итоге выполняет эту строку, используя Find ():

return Conference.Find(c => c.Approved).ToList(); 

Проблема в том, что это всегда возвращает всезаписи (9).Я пробовал разные критерии поиска, но безрезультатно.

Кто-нибудь знает, в чем проблема?Я попытался исправить сравнение на равенство в шаблонах tt, как описано здесь: Исправлены проблемы с TestRepository SubSonic 3 , но это не помогает.

Ответы [ 2 ]

1 голос
/ 01 октября 2010

Таким образом, меняется с .Найдите ...

return Conference.All().Where(c => c.Approved == true).ToList(); 

Решает.

0 голосов
/ 30 сентября 2010

Не должно иметь никакого значения, но вы пытались:

return Conference.Find(c => c.Approved == true).ToList(); 
...