rdf4h-2.0.0: testsuite/tests/Test.hs
module Main where
import Test.Tasty (defaultMain,testGroup)
import qualified Data.RDF.Graph.TriplesList_Test as TriplesList
import qualified Data.RDF.Graph.HashMapS_Test as HashMapS
import qualified Data.RDF.Graph.HashMapSP_Test as HashMapSP
import qualified Data.RDF.Graph.MapSP_Test as MapSP
import qualified Data.RDF.Graph.TriplesPatriciaTree_Test as TriplesPatriciaTree
import Data.RDF.Types
import qualified Text.RDF.RDF4H.XmlParser_Test as XmlParser
import qualified Text.RDF.RDF4H.TurtleParser_ConformanceTest as TurtleParser
import qualified W3C.TurtleTest as W3CTurtleTest
import qualified W3C.RdfXmlTest as W3CRdfXmlTest
import qualified W3C.NTripleTest as W3CNTripleTest
import Data.RDF.GraphTestUtils
import qualified Data.Text as T
import System.Directory (getCurrentDirectory)
import W3C.Manifest
suiteFilesDirTurtle,suiteFilesDirXml,suiteFilesDirNTriples :: T.Text
suiteFilesDirTurtle = "rdf-tests/turtle/"
suiteFilesDirXml = "rdf-tests/rdf-xml/"
suiteFilesDirNTriples = "rdf-tests/ntriples/"
mfPathTurtle,mfPathXml,mfPathNTriples :: T.Text
mfPathTurtle = T.concat [suiteFilesDirTurtle, "manifest.ttl"]
mfPathXml = T.concat [suiteFilesDirXml, "manifest.ttl"]
mfPathNTriples = T.concat [suiteFilesDirNTriples, "manifest.ttl"]
mfBaseURITurtle,mfBaseURIXml,mfBaseURINTriples :: BaseUrl
mfBaseURITurtle = BaseUrl "http://www.w3.org/2013/TurtleTests/"
mfBaseURIXml = BaseUrl "http://www.w3.org/2013/RDFXMLTests/"
mfBaseURINTriples = BaseUrl "http://www.w3.org/2013/N-TriplesTests/"
main :: IO ()
main = do
-- obtain manifest files for W3C tests before running tests
-- justification for separation: http://stackoverflow.com/a/33046723
dir <- getCurrentDirectory
let fileSchemeUri suitesDir = T.pack ("file://" ++ dir ++ "/" ++ T.unpack suitesDir)
turtleManifest <-
loadManifest mfPathTurtle (fileSchemeUri suiteFilesDirTurtle)
xmlManifest <-
loadManifest mfPathXml (fileSchemeUri suiteFilesDirXml)
nTriplesManifest <-
loadManifest mfPathNTriples (fileSchemeUri suiteFilesDirNTriples)
-- run tests
defaultMain
(testGroup "rdf4h tests"
[ -- RDF graph API tests
graphTests "TriplesList"
TriplesList.triplesOf'
TriplesList.uniqTriplesOf'
TriplesList.empty'
TriplesList.mkRdf'
, graphTests "HashMapS"
HashMapS.triplesOf'
HashMapS.uniqTriplesOf'
HashMapS.empty'
HashMapS.mkRdf'
, graphTests "HashMapSP"
HashMapSP.triplesOf'
HashMapSP.uniqTriplesOf'
HashMapSP.empty'
HashMapSP.mkRdf'
, graphTests "MapSP"
MapSP.triplesOf'
MapSP.uniqTriplesOf'
MapSP.empty'
MapSP.mkRdf'
, graphTests "TriplesPatriciaTree"
TriplesPatriciaTree.triplesOf'
TriplesPatriciaTree.uniqTriplesOf'
TriplesPatriciaTree.empty'
TriplesPatriciaTree.mkRdf'
-- rdf4h unit tests
, TurtleParser.tests
, XmlParser.tests
-- W3C tests
, W3CTurtleTest.tests turtleManifest
, W3CRdfXmlTest.tests xmlManifest
, W3CNTripleTest.tests nTriplesManifest
])