package levy.daniel.application.presentation.desktop.jframe;
import static org.junit.Assert.*;
import java.lang.reflect.InvocationTargetException;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
/**
* class AfficheurFrameTest :
* Test JUnit de la classe AfficheurFrame.
*
*/
public class AfficheurFrameTest {
// ************************ATTRIBUTS************************************/
/**
* frameATester : JFrame :
* JFrame à tester créée par un AfficheurFrame.
*/
private static JFrame frameATester;
/**
* LOG : Log :
* Logger pour Log4j (utilisant commons-logging).
*/
@SuppressWarnings("unused")
private static final Log LOG = LogFactory.getLog(AfficheurFrameTest.class);
// *************************METHODES************************************/
/**
* method testCreerEtAfficherFrame() :
* TEST JUnit.
* Teste l'affichage de la JFrame.
*
* @throws InterruptedException
* @throws InvocationTargetException
*/
@Test
public void testCreerEtAfficherFrame()
throws InvocationTargetException, InterruptedException {
/* L'invocation de invokeAndWait(...) au lieu de invokeLater(...)
* laisse à Swing le temps de consommer les évènement éventuellement
* créés par l'apparition de la fenêtre en se remettant à la fin.*/
SwingUtilities.invokeAndWait(new Runnable() {
/**
* {@inheritDoc}
*/
@Override
public void run() {
/* CREATION DE LA JFrame. */
AfficheurFrameTest.setFrameATester(
AfficheurFrame.creerEtAfficherFrame());
} // Fin de Run().____________________________
}); // Fin de new Runnable()._______________________________
/* TESTS UNITAIRES. */
assertNotNull("La JFrame ne doit pas être null : ", frameATester);
assertTrue("La JFrame doit être visible : ", frameATester.isVisible());
} // Fin de testCreerEtAfficherFrame().________________________________
/**
* method getFrameATester() :
* Getter de la JFrame à tester créée par un AfficheurFrame.
*
*
* @return frameATester : JFrame.
*/
public static final JFrame getFrameATester() {
return frameATester;
} // Fin de getFrameATester()._________________________________________
/**
* method setFrameATester(
* JFrame pFrameATester) :
* Setter de la JFrame à tester créée par un AfficheurFrame.
*
*
* @param pFrameATester : JFrame :
* valeur à passer à frameATester.
*/
public static final void setFrameATester(
final JFrame pFrameATester) {
frameATester = pFrameATester;
} // Fin de setFrameATester(
// JFrame pFrameATester)._____________________________________________
} // FIN DE LA CLASSE AfficheurFrameTest.------------------------------------