#!/usr/bin/env ruby
# Author:: Dan Brickley
# License:: W3C Software License

$LOAD_PATH.unshift '../lib/' 		
$LOAD_PATH.unshift '../../lib/' 		

require 'test/unit'
require 'basicrdf'

class TC_FetchRDF < Test::Unit::TestCase
  def setup
    # fetch data here instead?
  end

  def test_rdfcal
    cal = Loader.get_rdf 'rdfcal/openingHours.rdf'
#    puts "Testing rdf calendar data, triple count: #{cal.size}"
    calsize_expected=21
    assert(cal.size == calsize_expected, "There should be #{calsize_expected} triples in this calendar, not #{cal.size}")  
  end

  def test_rdfcal2
    cal = Loader.get_rdf 'rdfcal/openingHours2.rdf'
#   puts "Testing rdf calendar data using parseType=Resource, triple count: #{cal.size}"
    calsize_expected=21
    assert(cal.size == calsize_expected, "There should be #{calsize_expected} triples in this calendar, not #{cal.size}")  
  end


  def test_baseless1
    b1 = Loader.get_rdf 'syntax/baseless1.rdf'
    #puts "baseless data. Parsed: #{b1.size}"
    e=6 # we expect 6 triples since it is legal to use the filename to base our URIs on
    assert(b1.size== e, "There should be #{e} triples in this baseless rdf doc, not #{b1.size}")  
  end


  def test_fetchrdf
    @data = Loader.get_rdf_from_uri 'http://rdfweb.org/people/danbri/rdfweb/danbri-foaf.rdf', 'http://rdfweb.org/people/danbri/rdfweb/danbri-foaf.rdf'
    #puts "Data: #{@data.inspect}"
    assert(@data != nil, "Expected to find an RDF graph")
    assert(@data.size>0, "Dataset should contain several triples.")
  end


  def teardown
    @data = nil
  end

end
