Oggi sono incappato in uno stranissimo comportamento che non mi spiegavo… stavo scrivendo degli unit test di una collection custom scroccando la classe GenericParameterHelper che è li apposta per quello… e ho scritto una cosa del tipo:
[TestMethod]
public void entityCollection_remove_a_reference_not_in_the_collection_should_return_false()
{
var target = this.CreateMock<GenericParameterHelper>();
target.Add( new GenericParameterHelper() );
target.Add( new GenericParameterHelper() );
target.Add( new GenericParameterHelper() );
var actual = target.Remove( new GenericParameterHelper() );
actual.ShouldBeFalse();
}
ma il test falliva miseramente e actual era true… la cosa era un po’ inspiegabile se non che ad un certo punto dopo un po’ di sano debug mi è venuto lo schiribizzo di curiosare con il fido Reflector e ho scoper
to che quella maledetta classe di GenericParameterHelper fa l’override del metodo Equals falsando completamente il risultato…
Non ho parole.
.m
Technorati Tags:
MSTest,
Unit test