Package com.crawljax.crawljax_plugins_plugin

Source Code of com.crawljax.crawljax_plugins_plugin.SampleCrawlersTest

package com.crawljax.crawljax_plugins_plugin;

import static com.crawljax.browser.matchers.StateFlowGraphMatchers.hasEdges;
import static com.crawljax.browser.matchers.StateFlowGraphMatchers.hasStates;
import static org.junit.Assert.assertThat;

import org.junit.Test;

import com.crawljax.core.CrawlSession;
import com.crawljax.core.state.StateFlowGraph;
import com.crawljax.crawltests.SimpleInputSiteCrawl;
import com.crawljax.crawltests.SimpleJsSiteCrawl;
import com.crawljax.crawltests.SimpleSiteCrawl;
import com.crawljax.crawltests.SimpleXpathCrawl;
import com.crawljax.test.BaseCrawler;

public class SampleCrawlersTest {
  private BaseCrawler crawler;
  private CrawlSession crawl;

  @Test
  public void testSimpleCrawlerFlowGraph() throws Exception {
    crawler = new SimpleSiteCrawl();
    crawl = crawler.crawl();
    verifyGraphSize(SimpleSiteCrawl.NUMBER_OF_STATES, SimpleSiteCrawl.NUMBER_OF_EDGES);
  }

  @Test
  public void testJsCrawlerFlowGraph() throws Exception {
    crawler = new SimpleJsSiteCrawl();
    crawl = crawler.crawl();
    verifyGraphSize(SimpleJsSiteCrawl.NUMBER_OF_STATES, SimpleJsSiteCrawl.NUMBER_OF_EDGES);
  }

  @Test
  public void testInputCrawlerFlowGraph() throws Exception {
    crawler = new SimpleInputSiteCrawl();
    crawl = crawler.crawl();
    verifyGraphSize(SimpleInputSiteCrawl.NUMBER_OF_STATES,
            SimpleInputSiteCrawl.NUMBER_OF_EDGES);
  }

  @Test
  public void testSimpleXPathCrawlFlowGrah() throws Exception {
    crawler = new SimpleXpathCrawl();
    crawl = crawler.crawl();
    verifyGraphSize(SimpleInputSiteCrawl.NUMBER_OF_STATES,
            SimpleInputSiteCrawl.NUMBER_OF_EDGES);
  }

  private void verifyGraphSize(int numberOfStates, int numberOfEdges) throws Exception {
    StateFlowGraph stateFlowGraph = crawl.getStateFlowGraph();
    assertThat(stateFlowGraph, hasStates(numberOfStates));
    assertThat(stateFlowGraph, hasEdges(numberOfEdges));
  }
}
TOP

Related Classes of com.crawljax.crawljax_plugins_plugin.SampleCrawlersTest

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.