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.

¿Fue útil?

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(); 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top