Subsónica 3.0 TestRepository “Buscar” que no trabaja
-
26-09-2019 - |
Pregunta
El uso de Subsonic 3, que tiene una clase simple llamado "ConferenceRepository" que tiene un método que devuelve un montón de conferencias sobre la base de su estado. Estoy probando esto utilizando SubSonic está construido en apoyo para la prueba. Mi configuración de las miradas de pase de esta manera:
// 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);
Y entonces mi clase Repo finalmente ejecuta esta línea, mediante la función Buscar ():
return Conference.Find(c => c.Approved).ToList();
El problema es que esto siempre devuelve todos los registros (9). He intentado diferentes criterios hallazgo, sin ningún resultado.
Alguien sabe cuál es el problema? He intentado fijar comparación de igualdad en las plantillas tt como se describe aquí: arreglos de problemas con SubSonic de 3 TestRepository pero eso no ayuda.
Solución
Así se cambia de .find a ...
return Conference.All().Where(c => c.Approved == true).ToList();
lo resuelve.
Otros consejos
En caso no hace ninguna diferencia, pero sí que ha intentado:
return Conference.Find(c => c.Approved == true).ToList();