J'ai une classe contenant une méthode qui renvoie un objet Result qui contient une propriété de type Func.
class Result {
public Func<Result> NextAction { get; set; }
}
Comment puis-je écrire une assertion de test unitaire concernant le contenu de ce Func ? Ce qui suit ne fonctionne évidemment pas, car le compilateur génère deux méthodes différentes pour le lambda :
// Arrange
ListController controller = new ListController(domain);
// Act
Result actual = controller.DefaultAction();
// Assert
Func<Result> expected = () => new ProductsController(domain).ListAction();
Assert.That(actual.NextAction, Is.EqualTo(expected));
Je suppose que je pourrais le faire en utilisant des arbres d'expression à la place, mais... y a-t-il un moyen d'éviter de le faire ? J'utilise NUnit 2.5.
EDIT : Il n'y a pas d'autres champs d'identification dans l'objet Résultat. Il s'agit d'un moyen d'invoquer l'objet/méthode suivant(e) sur la base d'une décision prise dans l'objet/méthode en cours.