Pergunta

Usando o Subsonic 3, tenho uma classe simples chamada "ConferenceRePository" que possui um método que retorna um monte de conferências com base em seu status. Estou testando isso usando o suporte incorporado da Subsonic para testes. Minha configuração do repositório é assim:

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

E então minha classe repo finalmente executa esta linha, usando find ():

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

O problema é que isso sempre retorna todos os registros (9). Eu tentei diferentes critérios, sem sucesso.

Alguém sabe qual é o problema? Tentei corrigir a comparação de igualdade nos modelos TT, conforme descrito aqui: Correções para problemas com o TestRepository do subsônico 3 Mas isso não ajuda.

Foi útil?

Solução

Então, mudando de. Encontre para ...

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

Resolve isso.

Outras dicas

Não deveria fazer diferença, mas você tentou:

return Conference.Find(c => c.Approved == true).ToList(); 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top