Test de L'IHM tp3q1 enfin ...

Programmation Avancée

Modérateur : Douin

Douin
Messages : 341
Inscription : 18 mars 2009 15:46

Test de L'IHM tp3q1 enfin ...

Message par Douin » 18 oct. 2018 15:37

Bonjour, suite à un transfert effectué dans la précipitation, le test de l'IHM a été inhibé, il fait son grand retour, à l'aide des diapositives présentées hier soir, le même code est installé côté jnews

qu'on se le dise

bon test de l'IHM

Code : Tout sélectionner

package question1;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class IHMPileTest extends junit.framework.TestCase{
    private question1.IHMPile ihm;

    protected void setUp() throws java.lang.Exception{
        ihm = new question1.IHMPile(); //new JFrame("test");
        while(!(ihm.isShowing())){}
        ihm.setAlwaysOnTop(true);
        ihm.setLocation(100, 500);
    }

    protected void tearDown(){ // throws java.lang.Exception
        ihm.dispose();
    }

    private void empiler(String str) throws Exception{
        Container panel = ihm.getContentPane();
        Component[] components = panel.getComponents();
        Component[] subComponents = ((JPanel)components[0]).getComponents();

        ((JTextField)subComponents[0]).setText(str);
        ((JTextField)subComponents[0]).postActionEvent();

        JButton btnEmpiler = (JButton)subComponents[1];
        btnEmpiler.doClick();
    }

    private void depiler() throws Exception{
        Container panel = ihm.getContentPane();
        Component[] components = panel.getComponents();
        Component[] subComponents = ((JPanel)components[0]).getComponents();

        JButton btnDepiler = (JButton)subComponents[2];
        btnDepiler.doClick();

    }

    private String sommet() throws Exception{
        Container panel = ihm.getContentPane();
        Component[] components = panel.getComponents();

        JTextField sommet = (JTextField) components[3];
        return sommet.getText();
    }

    private String pileToString() throws Exception{
        Container panel = ihm.getContentPane();
        Component[] components = panel.getComponents();
        JLabel sortie = (JLabel) components[1];
        return sortie.getText();
    }

    public void test_IHMPile() throws Exception{ // juste le bon IHM
        try{
            Container panel = ihm.getContentPane();
            Component[] components = panel.getComponents();
            assertEquals(components.length, 2);

            // la bonne IHM
            assertTrue(components[0] instanceof JPanel);
            assertTrue(components[1] instanceof JLabel);

            Component[] subComponents = ((JPanel)components[0]).getComponents();
            assertTrue(subComponents[0] instanceof JTextField);
            assertTrue(subComponents[1] instanceof JButton);
            assertTrue(subComponents[2] instanceof JButton);
            assertTrue(subComponents[3] instanceof JTextField);

        }catch(Exception e){
            fail("exception inattendue ! " + e.getClass().getName());
        }
    }

    public void test1_IHMPile() throws Exception{
        try{
            Container panel = ihm.getContentPane();
            Component[] components = panel.getComponents();
            assertEquals(components.length, 2);
            assertTrue(components[0] instanceof JPanel);
            assertTrue(components[1] instanceof JLabel);

            Component[] subComponents = ((JPanel)components[0]).getComponents();
            assertTrue(subComponents[0] instanceof JTextField);
            assertTrue(subComponents[1] instanceof JButton);
            assertTrue(subComponents[2] instanceof JButton);
            assertTrue(subComponents[3] instanceof JTextField);

            empiler("100");
            empiler("101");
            assertEquals(" sortie non conforme, dernier élément empilé doit être en premier ???","[101, 100]", pileToString());

            depiler();
            assertEquals(" sortie non conforme ???","[100]",pileToString());
            depiler();
            assertEquals(" sortie non conforme ??? " ,"[]" , pileToString());
        }catch(Exception e){
            fail("exception inattendue ! " + e.getClass().getName());
        }
    }

    public void test_ExceptionEstVide() throws Exception{
        try{
            Container panel = ihm.getContentPane();
            Component[] components = panel.getComponents();
            assertEquals(components.length, 2);
            assertTrue(components[0] instanceof JPanel);
            assertTrue(components[1] instanceof JLabel);

            Component[] subComponents = ((JPanel)components[0]).getComponents();
            assertTrue(subComponents[0] instanceof JTextField);
            assertTrue(subComponents[1] instanceof JButton);
            assertTrue(subComponents[2] instanceof JButton);
            assertTrue(subComponents[3] instanceof JTextField);

            depiler();
            String resultat = pileToString().toLowerCase();
            boolean res = resultat.contains("estvide") || resultat.contains("vide");
            assertTrue(" en sortie, \"estVide !\" est introuvable ???", res);

            empiler("100");
            assertEquals(" sortie non conforme ???","[100]",pileToString());

        }catch(Exception e){
            fail("exception inattendue ! " + e.getClass().getName());
        }
    }

    public void test_ExceptionEstPleine() throws Exception{
        try{
            Container panel = ihm.getContentPane();
            Component[] components = panel.getComponents();
            assertEquals(components.length, 2);
            assertTrue(components[0] instanceof JPanel);
            assertTrue(components[1] instanceof JLabel);

            Component[] subComponents = ((JPanel)components[0]).getComponents();
            assertTrue(subComponents[0] instanceof JTextField);
            assertTrue(subComponents[1] instanceof JButton);
            assertTrue(subComponents[2] instanceof JButton);
            assertTrue(subComponents[3] instanceof JTextField);

            int i=1;
            boolean res=false;
            while(!res && (i<10)){
                empiler(Integer.toString(i++));
                String resultat = pileToString().toLowerCase();
                res = resultat.contains("estpleine") || resultat.contains("pleine");
            }

            assertTrue(" en sortie, \"estPleine !\" est introuvable ?",i<10);
 
        }catch(Exception e){
            fail("exception inattendue ! " + e.getClass().getName());
        }
    }


}

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité