q1 examenfevrier2020

Programmation Avancée

Modérateur : douinj

guill_f58
Messages : 36
Inscription : 10 oct. 2020 19:42

q1 examenfevrier2020

Message par guill_f58 » 19 janv. 2021 16:38

Bonjour, j'ai eu la mauvaise idée de tester autre chose pour la question 1. L'idée n'est pas très bonne mais le souci n'est pas là (si même message pour le même destinataire alors deux clés primaires avec le même nom...).
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);
  }
J'obtiens
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);
    } 

guill_f58
Messages : 36
Inscription : 10 oct. 2020 19:42

Re: q1 examenfevrier2020

Message par guill_f58 » 19 janv. 2021 17:22

J'ai rien dit

Répondre