Gravando seus Próprios Testes: Amostra 1

O código-fonte a seguir é o exemplo de um teste estrutural que retorna dados estáticos. O teste é fornecido como exemplo da interface WMQTest.


/*
 * Materiais Licenciados - Propriedade da IBM
 * 
 * 63H9336
 * (c) Copyright IBM Corp. 2005, 2020. Todos os Direitos Reservados.
 * 
 * Direitos Restritos para Usuários do Governo dos Estados Unidos - Uso, duplicação ou
 * divulgação restritos pelo documento GSA ADP Schedule Contract com a
 * IBM Corp.

 */


package com.ibm.mq.explorer.tests.sample;

/**
 * Teste de amostra executado a partir de um teste adicional da árvore de teste de padrões do WMQ
 */
public class WMQTestSimple extends WMQTest {
  
  /*
   * (não Javadoc)
   * 
   * @see com.ibm.mq.explorer.tests.WMQTest#runTest(com.ibm.mq.explorer.tests.internal.actions.WMQTestEngine,
   * org.eclipse.core.runtime.IProgressMonitor, com.ibm.mq.explorer.ui.extensions.MQExtObject[],
   * java.lang.String)
   */  
   public void runTest(WMQTestEngine callback, IProgressMonitor guimonitor,
      MQExtObject[] contextObjects, TreeNode treenodeId) {

    // Iniciar com a implementação padrão. Isso armazenará um identificador
    // no mecanismo de teste que será necessário quando quisermos submeter
    // os resultados no final do teste
    super.runTest(callback, guimonitor, contextObjects, treenodeId);

    // Preparar espaço para armazenamento de resultados do teste
    ArrayList testresults = new ArrayList();

    // Inicializar a parte de barra de progresso da GUI utilizada para mostrar o progresso (4 estágios)
    guimonitor.beginTask(getTestName(), 4);

    // Executar loop por 4 vezes, incrementando o contador de progresso em 1 a cada vez
    para (int k = 0; k < 4; k++) {
      try {
        // Suspender um bit para parecer que estamos realizando trabalho
        Thread.sleep(900);
      }
      catch (InterruptedException e) {
      }

      // Incrementar a barra de progresso da GUI utilizada para mostrar progresso, com a conclusão de 1 suspensão
      guimonitor.worked(1);
    }

    // Criar um novo resultado de teste e incluí-lo na nossa lista de matrizes de resultados
    testresults.add(new WMQTestResult(IMarker.SEVERITY_INFO, "AMOSTRA: Nosso teste adicional funcionou!", //$NON-NLS-1$
        "Nome do objeto", getTestSubCategory())); //$NON-NLS-1$

    //  Compactar os resultados e retornar - teste concluído.
    testComplete((WMQTestResult[]) testresults.toArray(new WMQTestResult[testresults.size()]));
  }
}