J'ai un problème avec la copie d'une mailbox dans une autre ce qui correspond au test 3.
Si je passe le test 3 avec de la documentation :
Code : Tout sélectionner
public void testScenario3_Equals() throws Exception{
MailBox mb = new MailBox();
mb.add("a");mb.add("b");mb.add("c");mb.add("d"); // 4 destinataires : a,b,c,d
String msg1 = new String("src1_msg1"); // source : src1, message msg1
mb.send(msg1,"a");
List<String> list = mb.read("a");
list = mb.read("a");
System.out.println(mb.getMailBox().size());
System.out.println(((MailBox)mb).getMailBox().toString());
System.out.println(mb.getClass());
IMailBox mbBis = new MailBox(mb);
System.out.println(((MailBox)mbBis).getMailBox().size());
System.out.println(((MailBox)mbBis).getMailBox().toString());
System.out.println(mbBis.getClass());
assertEquals(mb,mbBis);
}
4
{a={src1_msg1=true}, b={}, c={}, d={}}
class question1.MailBox
4
{a={src1_msg1=true}, b={}, c={}, d={}}
class question1.MailBox
Par contre je n'arrive pas à passer l"equals. Voici le code en question:
Code : Tout sélectionner
//clef:déstinataire ; valeur:message, lu / !lu
private Map<String, Map<String, Boolean>> mailBox;
public MailBox(MailBox mb){
this.mailBox = new HashMap<>(mb.mailBox);
}