Bonjour,

Je mets en place un petit système d'arborescence (un menu en fait), il utilise notamment des objets "Racine" et "Feuille". Les racines peuvent contenir des objets "Racine" et/ou des objets "Feuille". Je souhaite que le constructeur des objets "Racine" prennent un paramètre List<Racine/Feuille> qui ne soit ni null, ni vide (vous l'aurez je pense compris, ici Racine/Feuille est en réalité une interface implémentée à la fois par les objets "Racine" et "Feuille", j'ai écris comme ça pour simplifier).

Dans mes tests de l'objet "Racine", quand j'instancie un objet "Racine", je dois donc lui fournir une liste non-vide d'objets de type "Racine" / "Feuille".

Problème 1: si je remplis cette liste d'objets "Feuille", alors je crée une dépendance dans mes tests, ce qui est à proscrire.
Problème 2: si je remplis cette liste d'objets "Racine", la récursivité m'en empêche ... car un objet Racine nécessite à son tour des objets "Racine" / "Feuille"

J'imagine que c'est un cas typique, cependant je ne sais pas comment procéder pour le traiter, merci d'avance pour vos conseils.