From 8f6759bfa0cfcfaf379d09c0c331aabb7395d319 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Mon, 4 Oct 2021 09:54:55 +0100 Subject: Tag some tests as slow --- README.md | 23 +++++++++++++++++++++- .../ac/ox/cs/rsacomb/functional/Functional.scala | 17 ++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6fcd98d..e61e889 100644 --- a/README.md +++ b/README.md @@ -118,11 +118,32 @@ java -cp : uk.ac.ox.cs.rsacomb.RSAComb [" +``` + +For example, to execute only unit tests concerning the canonical model computation, run +``` +sbt "testOnly uk.ac.ox.cs.rsacomb.CanonicalModelSpec" +``` + +or alternatively +``` +sbt "testOnly *CanonicalModelSpec" +``` + +To run only functional tests for LUBM, excluding tests tagged as *slow* (that require more resources), run +``` +sbt "testOnly *functional.LUBM -- -l org.scalatest.tags.Slow" +``` + ## Changes introduced We tried to implement the system as close as possible to the theoretical description provided in [[1](#references)]. diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala index e4ea01b..abede60 100644 --- a/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala +++ b/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala @@ -2,6 +2,7 @@ package uk.ac.ox.cs.rsacomb.functional import org.scalatest.funspec.AnyFunSpec import org.scalatest.matchers.should.Matchers +import org.scalatest.tagobjects.Slow import uk.ac.ox.cs.rsacomb.ontology.Ontology import uk.ac.ox.cs.rsacomb.approximation.Upperbound @@ -27,12 +28,11 @@ class LUBM extends AnyFunSpec with Matchers { private val rsa = ontology approximate toUpperbound /* Queries and results */ - private val queries = - RDFoxUtil.loadQueriesFromFile(test / "queries.sparql") private val results = ujson.read(os.read(test / "results.json")).arr describe("Ontology size: 1)") { + val queries = RDFoxUtil.loadQueriesFromFile(test / "queries.sparql") queries foreach { query => it(s"Tested Query${query.id}") { val answers = rsa.ask(query).answers.map(_._2.mkString("\t")) @@ -45,5 +45,18 @@ class LUBM extends AnyFunSpec with Matchers { } } + val slow = RDFoxUtil.loadQueriesFromFile(test / "queries-slow.sparql") + slow foreach { query => + it(s"Tested Query${query.id}", Slow) { + val answers = rsa.ask(query).answers.map(_._2.mkString("\t")) + val reference = results + .find(_("queryID").num == query.id) + .get("answers") + .arr + .map(_.str) + answers should contain theSameElementsAs reference + } + } + } } -- cgit v1.2.3