PlainTextReporterTest.java :  » Testing » webtest » com » canoo » webtest » reporting » Java Open Source

Java Open Source » Testing » webtest 
webtest » com » canoo » webtest » reporting » PlainTextReporterTest.java
// Copyright  2002-2005 Canoo Engineering AG, Switzerland.
package com.canoo.webtest.reporting;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Collections;

import org.apache.tools.ant.Project;

import junit.framework.TestCase;

import com.canoo.webtest.ant.TestStepSequence;
import com.canoo.webtest.ant.WebtestTask;
import com.canoo.webtest.engine.Context;
import com.canoo.webtest.self.StepStub;

/**
 * Unit tests for {@link PlainTextReporter}.
 * @author Unknown
 * @author Marc Guillemot
 */
public class PlainTextReporterTest extends TestCase
{
    private RootStepResult fResultInfo;
    private StringWriter fStringWriter;
    private PrintWriter fPrintWriter;
    private PlainTextReporter fReporter;

    protected void setUp() throws Exception {
        super.setUp();
        final Project project = new Project();
        final WebtestTask webtest = new WebtestTask();
        webtest.setProject(project);
        webtest.addSteps(new TestStepSequence());
        final Context context = new Context(webtest);
        WebtestTask.setThreadContext(context);
        
        fResultInfo = new RootStepResult(webtest.getStepSequence());
        fStringWriter = new StringWriter();
        fPrintWriter = new PrintWriter(fStringWriter);
        fReporter = new PlainTextReporter();
    }

    public void testPrintNoSteps() {
        fReporter.print(fPrintWriter, fResultInfo);
        assertTrue("Summary header",
                fStringWriter.toString().startsWith("Test step summary for specification:"));
    }

    public void testPrintCompletedStep() {

      final StepResult result = new StepResult("myTask");
      result.taskFinished(new StepStub(), null, Collections.EMPTY_LIST);
      fResultInfo.addChild(result);

        fReporter.print(fPrintWriter, fResultInfo);
        final String str = fStringWriter.toString();
        assertTrue(str.startsWith("Test"));
        assertTrue(str.indexOf("myTask") > 0);
        assertTrue(str.indexOf("Duration") > 0);
    }

    public void testPrintNotCompleted() {

      final StepResult result = new StepResult("myTask");
      fResultInfo.addChild(result);

        fReporter.print(fPrintWriter, fResultInfo);
        final String str = fStringWriter.toString();
        assertTrue(str.startsWith("Test"));
        assertTrue(str.indexOf("myTask") > 0);
        assertTrue(str.indexOf("not completed") > 0);
    }

    public void testPrintNotSuccessful() {

      final StepResult result = new StepResult("myTask");
      fResultInfo.addChild(result);
      fResultInfo.setLastFailingTaskResult(result, new IllegalArgumentException("dummy error"));

        fReporter.print(fPrintWriter, fResultInfo);
        final String str = fStringWriter.toString();
        assertTrue(str.startsWith("Test"));
        assertTrue(str.indexOf("PlainTextReporter") > 0);
        assertTrue(str.indexOf("Test failed.") > 0);
        assertTrue(str.indexOf("IllegalArgumentException") > 0);
        assertTrue(str.indexOf("dummy error") > 0);
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.