diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2016-05-30 13:22:51 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2016-05-30 21:27:07 +0200 |
commit | 15aa74452cd4cde9a1d4b16cc57dddf7407ff833 (patch) | |
tree | c9c079d80db640616f1984f391e094f2717eb67d | |
parent | 06d47e8cb113a821c031b5ab8c07895c4473cfb4 (diff) | |
download | tracker-15aa74452cd4cde9a1d4b16cc57dddf7407ff833.tar.gz |
tests: Add some BIND() tests
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | tests/libtracker-data/Makefile.am | 1 | ||||
-rw-r--r-- | tests/libtracker-data/bind/Makefile.am | 13 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind1.out | 2 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind1.rq | 8 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind2.out | 1 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind2.rq | 8 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind3.out | 2 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind3.rq | 7 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind4.out | 1 | ||||
-rw-r--r-- | tests/libtracker-data/bind/bind4.rq | 10 | ||||
-rw-r--r-- | tests/libtracker-data/bind/data.ontology | 27 | ||||
-rw-r--r-- | tests/libtracker-data/bind/data.ttl | 11 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-sparql-test.c | 5 |
14 files changed, 97 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 26960f238..03c498e06 100644 --- a/configure.ac +++ b/configure.ac @@ -2686,6 +2686,7 @@ AC_CONFIG_FILES([ tests/libtracker-data/anon/Makefile tests/libtracker-data/ask/Makefile tests/libtracker-data/basic/Makefile + tests/libtracker-data/bind/Makefile tests/libtracker-data/bnode-coreference/Makefile tests/libtracker-data/bound/Makefile tests/libtracker-data/datetime/Makefile diff --git a/tests/libtracker-data/Makefile.am b/tests/libtracker-data/Makefile.am index 060fe0a1c..2b86b1c38 100644 --- a/tests/libtracker-data/Makefile.am +++ b/tests/libtracker-data/Makefile.am @@ -6,6 +6,7 @@ SUBDIRS = \ anon \ ask \ basic \ + bind \ bnode-coreference \ bound \ datetime \ diff --git a/tests/libtracker-data/bind/Makefile.am b/tests/libtracker-data/bind/Makefile.am new file mode 100644 index 000000000..522d6ae00 --- /dev/null +++ b/tests/libtracker-data/bind/Makefile.am @@ -0,0 +1,13 @@ +include $(top_srcdir)/Makefile.decl + +EXTRA_DIST += \ + data.ontology \ + data.ttl \ + bind1.out \ + bind1.rq \ + bind2.out \ + bind2.rq \ + bind3.out \ + bind3.rq \ + bind4.out \ + bind4.rq diff --git a/tests/libtracker-data/bind/bind1.out b/tests/libtracker-data/bind/bind1.out new file mode 100644 index 000000000..e6069faa6 --- /dev/null +++ b/tests/libtracker-data/bind/bind1.out @@ -0,0 +1,2 @@ +"http://example.org/ns#a1" "a1" "a1" "a1" +"http://example.org/ns#a2" "a2" "a2" "a2" diff --git a/tests/libtracker-data/bind/bind1.rq b/tests/libtracker-data/bind/bind1.rq new file mode 100644 index 000000000..c27a3a1a8 --- /dev/null +++ b/tests/libtracker-data/bind/bind1.rq @@ -0,0 +1,8 @@ +PREFIX : <http://example.org/ns#> +SELECT ?a ?c ?x ?y +WHERE + { ?a :string ?c . + BIND (?c AS ?x) . + BIND (:string(?a) AS ?y) . + } +ORDER BY ?a diff --git a/tests/libtracker-data/bind/bind2.out b/tests/libtracker-data/bind/bind2.out new file mode 100644 index 000000000..e89c3eae8 --- /dev/null +++ b/tests/libtracker-data/bind/bind2.out @@ -0,0 +1 @@ +"http://example.org/ns#e" "17" "34" diff --git a/tests/libtracker-data/bind/bind2.rq b/tests/libtracker-data/bind/bind2.rq new file mode 100644 index 000000000..c22d7b129 --- /dev/null +++ b/tests/libtracker-data/bind/bind2.rq @@ -0,0 +1,8 @@ +PREFIX : <http://example.org/ns#> +SELECT ?a ?b ?x AS ?double +WHERE + { ?a :integer ?b . + BIND ((?b * 2) AS ?x) . + FILTER (?x < 50) . + } +ORDER BY ?a diff --git a/tests/libtracker-data/bind/bind3.out b/tests/libtracker-data/bind/bind3.out new file mode 100644 index 000000000..77909cd6f --- /dev/null +++ b/tests/libtracker-data/bind/bind3.out @@ -0,0 +1,2 @@ +"http://example.org/ns#a2" "42" "0.0238095238095238" +"http://example.org/ns#e" "17" "0.0588235294117647" diff --git a/tests/libtracker-data/bind/bind3.rq b/tests/libtracker-data/bind/bind3.rq new file mode 100644 index 000000000..2d9405a8a --- /dev/null +++ b/tests/libtracker-data/bind/bind3.rq @@ -0,0 +1,7 @@ +PREFIX : <http://example.org/ns#> +SELECT ?a ?b ?x +WHERE + { ?a :integer ?b . + BIND ((1 / xsd:double (?b)) AS ?x) . + } +ORDER BY ?x diff --git a/tests/libtracker-data/bind/bind4.out b/tests/libtracker-data/bind/bind4.out new file mode 100644 index 000000000..d9552295a --- /dev/null +++ b/tests/libtracker-data/bind/bind4.out @@ -0,0 +1 @@ +"http://example.org/ns#a1" "a1" diff --git a/tests/libtracker-data/bind/bind4.rq b/tests/libtracker-data/bind/bind4.rq new file mode 100644 index 000000000..cb1081e3e --- /dev/null +++ b/tests/libtracker-data/bind/bind4.rq @@ -0,0 +1,10 @@ +PREFIX : <http://example.org/ns#> +SELECT ?a ?x +WHERE + { + ?a a :A . + BIND (:string(?a) AS ?x) . + FILTER (STRSTARTS (:string(?a), "a") && + STRENDS (?x, "1")) . + } +ORDER BY ?a diff --git a/tests/libtracker-data/bind/data.ontology b/tests/libtracker-data/bind/data.ontology new file mode 100644 index 000000000..00b5a5bf8 --- /dev/null +++ b/tests/libtracker-data/bind/data.ontology @@ -0,0 +1,27 @@ +@prefix example: <http://example.org/ns#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +example: a tracker:Namespace ; + tracker:prefix "example" . + +example:A a rdfs:Class ; + rdfs:subClassOf rdfs:Resource . + +example:string a rdf:Property ; + rdfs:domain example:A ; + rdfs:range xsd:string . + +example:integer a rdf:Property ; + rdfs:domain example:A ; + rdfs:range xsd:integer . + +example:resource a rdf:Property ; + rdfs:domain example:A ; + rdfs:range rdfs:Resource . + +example:date a rdf:Property ; + rdfs:domain example:A ; + rdfs:range xsd:dateTime . diff --git a/tests/libtracker-data/bind/data.ttl b/tests/libtracker-data/bind/data.ttl new file mode 100644 index 000000000..45d495b69 --- /dev/null +++ b/tests/libtracker-data/bind/data.ttl @@ -0,0 +1,11 @@ +@prefix : <http://example.org/ns#> . + +:a1 a :A . +:a2 a :A . +:e a :A . + +:a1 :string "a1" . +:a1 :resource :e . +:a2 :string "a2" . +:a2 :integer 42 . +:e :integer 17 . diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c index 1b77ba5b8..01421a9b6 100644 --- a/tests/libtracker-data/tracker-sparql-test.c +++ b/tests/libtracker-data/tracker-sparql-test.c @@ -137,6 +137,11 @@ const TestInfo tests[] = { /* Mixed cardinality tests */ { "mixed-cardinality/insert-mixed-cardinality-query-1", "mixed-cardinality/insert-mixed-cardinality-1", FALSE, FALSE }, { "mixed-cardinality/update-mixed-cardinality-query-1", "mixed-cardinality/update-mixed-cardinality-1", FALSE, FALSE }, + /* Bind tests */ + { "bind/bind1", "bind/data", FALSE }, + { "bind/bind2", "bind/data", FALSE }, + { "bind/bind3", "bind/data", FALSE }, + { "bind/bind4", "bind/data", FALSE }, { NULL } }; |