'Fred',
      'score' => 33,
      'e-value' => '3.4e-55',
    ];
    $hit->{'linkout_id'} = 'Sarah';
    $result = tripal_blast_generate_linkout_link($url_prefix, $hit, $info);
    $expect = 'Sarah';
    $this->assertEquals($expect, $result);
    // Check with Query paramters.
    $url_prefix = 'http://fake/url/prefix?me=you&he=her&hit=';
    $result = tripal_blast_generate_linkout_link($url_prefix, $hit, $info);
    $expect = 'Sarah';
    $this->assertEquals($expect, $result);
  }
  /**
   * Test tripal_blast_generate_linkout_gbrowse().
   *
   * @dataProvider provideBlastHit
   */
  public function testGBrowseLinkout($hit) {
    // Process HSPs for $info.
    foreach ($hit->{'Hit_hsps'}->children() as $hsp_xml) {
      $HSPs[] = (array) $hsp_xml;
    }
    // Test with no query parameters.
    $url_prefix = 'http://fake/url/prefix';
    $info = [
      'query_name' => 'Fred',
      'score' => 33,
      'e-value' => '3.4e-55',
      'HSPs' => $HSPs,
    ];
    $hit->{'linkout_id'} = 'Sarah';
    $result = tripal_blast_generate_linkout_gbrowse($url_prefix, $hit, $info);
    $expect = 'Sarah';
    $this->assertEquals($expect, $result);
  }
  /**
   * Test tripal_blast_generate_linkout_jbrowse().
   *
   * @dataProvider provideBlastHit
   */
  public function testJBrowseLinkout($hit) {
    // Proccess the HSPs for $info.
    foreach ($hit->{'Hit_hsps'}->children() as $hsp_xml) {
      $HSPs[] = (array) $hsp_xml;
    }
    // Test with no query parameters.
    $url_prefix = 'http://myserver.com/jbrowse/databasica/?tracks=myfavtrack,anoktrack,blast&';
    $info = [
      'query_name' => 'Fred',
      'score' => 33,
      'e-value' => '3.4e-55',
      'HSPs' => $HSPs,
    ];
    $hit->{'linkout_id'} = 'Sarah';
    $hit->{'hit_name'} = 'Needleman';
    $result = tripal_blast_generate_linkout_jbrowse($url_prefix, $hit, $info);
    $expect = 'Sarah';
    $this->assertEquals($expect, $result);
  }
  /**
   * Data Provider
   */
  public function provideBlastHit() {
    $result = simplexml_load_file(
      DRUPAL_ROOT .'/'. drupal_get_path('module','blast_ui')
      .'/tests/test_files/Citrus_sinensis-orange1.1g015632m.blastresults.xml'
    );
    $hit = $result->{'BlastOutput_iterations'}->{'Iteration'}[0]->{'Iteration_hits'}->{'Hit'};
    
    return [[$hit]];
  }
}