Package fitnesse.reporting.history

Source Code of fitnesse.reporting.history.SuiteExecutionReportTest

package fitnesse.reporting.history;

import static fitnesse.reporting.history.SuiteExecutionReport.PageHistoryReference;
import static org.hamcrest.CoreMatchers.*;
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;

import fitnesse.FitNesseVersion;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import fitnesse.testsystems.TestSummary;

import java.util.Date;

public class SuiteExecutionReportTest {
  private SuiteExecutionReport report1;
  private SuiteExecutionReport report2;

   @Before
  public void setUp() throws Exception {
    report1 = new SuiteExecutionReport(new FitNesseVersion("version"), "rootPath");
    report2 = new SuiteExecutionReport(new FitNesseVersion("version"), "rootPath");
  }

  @Test
  public void degeneratesShouldBeEqual() throws Exception {
    assertEquals(new SuiteExecutionReport(new FitNesseVersion("version"), "here"),
            new SuiteExecutionReport(new FitNesseVersion("version"), "here"));
  }
  @Test
  public void shouldNotBeEqualIfDifferentTypes() throws Exception {
    assertFalse(new SuiteExecutionReport(new FitNesseVersion("version"), "here").equals(new Integer(0)));
  }

  @Test
  public void shouldNotBeEqualWithDifferentRootPaths()throws Exception  {
    SuiteExecutionReport report1 = new SuiteExecutionReport(new FitNesseVersion("version"), "here");
    SuiteExecutionReport report2 = new SuiteExecutionReport(new FitNesseVersion("version"), "there");
    assertFalse(report1.equals(report2));
  }

  @Test
  public void shouldNotBeEqualIfHaveDifferentReferences() throws Exception {
    report1.addPageHistoryReference(new PageHistoryReference("pageOne",1234, 9));
    report2.addPageHistoryReference(new PageHistoryReference("pageTwo",1234, 9));
    assertFalse(report1.equals(report2));
  }

  @Test
  public void shouldBeEqualIfReferencesAreTheSame() throws Exception {
    PageHistoryReference r1 = new PageHistoryReference("TestPage", 1111, 8);
    PageHistoryReference r2 = new PageHistoryReference("TestPage", 1111, 8);
    r1.setTestSummary(new TestSummary(3, 0, 0, 0));
    r2.setTestSummary(new TestSummary(3, 0, 0, 0));
    report1.addPageHistoryReference(r1);
    report2.addPageHistoryReference(r2);
    assertEquals(report1, report2);
  }

  @Test
  public void shouldNotBeEqualIfVersionIsDifferent() throws Exception {
    report1 = new SuiteExecutionReport(new FitNesseVersion("x"), "rootPath");
    report2 = new SuiteExecutionReport(new FitNesseVersion("y"), "rootPath");
    assertFalse(report1.equals(report2));
  }

  @Test
  public void shoudlNotBeEqualIfDateIsDifferent() throws Exception {
    report1.date = new Date(1);
    report2.date = new Date(2);
    assertFalse(report1.equals(report2));
  }

  @Test
  public void shouldNotBeEqualIfFinalCountsAreDifferent() throws Exception {
    report1.getFinalCounts().add(new TestSummary(1,2,3,4));
    report2.getFinalCounts().add(new TestSummary(4,3,2,1));
    assertFalse(report1.equals(report2));   
  }

  @Test
  public void shouldNotBeEqualIfRunTimesAreDifferent() throws Exception {
    report1.addPageHistoryReference(new PageHistoryReference("testPage", 1234, 5));
    report2.addPageHistoryReference(new PageHistoryReference("testPage", 1234, 6));
    assertFalse(report1.equals(report2));   
  }

  @Test
  public void shouldBeEqualWithAllFieldsEqual() throws Exception {
    report1.date = report2.date = new Date(1);
    report1.getFinalCounts().add(new TestSummary(4,5,6,7));
    report2.getFinalCounts().add(new TestSummary(4,5,6,7));
    PageHistoryReference r1a = new PageHistoryReference("testPage", 1234, 5);
    PageHistoryReference r2a = new PageHistoryReference("testPage", 1234, 5);
    PageHistoryReference r1b = new PageHistoryReference("myPage", 7734, 6);
    PageHistoryReference r2b = new PageHistoryReference("myPage", 7734, 6);
    report1.addPageHistoryReference(r1a);
    report1.addPageHistoryReference(r1b);
    report2.addPageHistoryReference(r2a);
    report2.addPageHistoryReference(r2b);

    assertEquals(report1, report2);
  }
 
  @Test
  public void shouldHandleMissingRunTimesGraceFully() throws Exception {
    Element element = mock(Element.class);
    NodeList emptyNodeList = mock(NodeList.class);
    when(element.getElementsByTagName("runTimeInMillis")).thenReturn(emptyNodeList);
    when(emptyNodeList.getLength()).thenReturn(0);
    assertThat(report1.getRunTimeInMillisOrZeroIfNotPresent(element), is(0L));
   
    element = mock(Element.class);
    NodeList matchingNodeList = mock(NodeList.class);
    Node elementWithText = mock(Element.class);
    when(element.getElementsByTagName("runTimeInMillis")).thenReturn(matchingNodeList);
    when(matchingNodeList.getLength()).thenReturn(1);
    when(matchingNodeList.item(0)).thenReturn(elementWithText);
    when(elementWithText.getTextContent()).thenReturn("255");
    assertThat(report1.getRunTimeInMillisOrZeroIfNotPresent(element), is(255L));
  }
}
TOP

Related Classes of fitnesse.reporting.history.SuiteExecutionReportTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.