[tracker/distinct-aggregates: 2/2] Add test cases for aggregates



commit 83866af87c3ec391c21e5f6a1860ae6c0ab85973
Author: Mikael Ottela <mikael ottela ixonos com>
Date:   Wed Dec 9 23:16:16 2009 +0200

    Add test cases for aggregates

 configure.ac                                       |    1 +
 tests/libtracker-data/Makefile.am                  |    1 +
 tests/libtracker-data/aggregates/Makefile.am       |   11 ++++++
 tests/libtracker-data/aggregates/aggregate-1.out   |    1 +
 tests/libtracker-data/aggregates/aggregate-1.rq    |    5 +++
 .../aggregates/aggregate-distinct-1.out            |    1 +
 .../aggregates/aggregate-distinct-1.rq             |    4 ++
 .../aggregates/aggregate-group-1.out               |    2 +
 .../aggregates/aggregate-group-1.rq                |    9 +++++
 tests/libtracker-data/aggregates/data-1.ontology   |   34 ++++++++++++++++++++
 tests/libtracker-data/aggregates/data-1.ttl        |   34 ++++++++++++++++++++
 tests/libtracker-data/tracker-sparql-test.c        |    3 ++
 12 files changed, 106 insertions(+), 0 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 2d6bbfd..859ba4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1579,6 +1579,7 @@ AC_CONFIG_FILES([
 	tests/common/Makefile
 	tests/libtracker-common/Makefile
 	tests/libtracker-data/Makefile
+	tests/libtracker-data/aggregates/Makefile
 	tests/libtracker-data/algebra/Makefile
 	tests/libtracker-data/bnode-coreference/Makefile
 	tests/libtracker-data/bound/Makefile
diff --git a/tests/libtracker-data/Makefile.am b/tests/libtracker-data/Makefile.am
index cfbaf8d..8461b1c 100644
--- a/tests/libtracker-data/Makefile.am
+++ b/tests/libtracker-data/Makefile.am
@@ -1,6 +1,7 @@
 include $(top_srcdir)/Makefile.decl
 
 SUBDIRS = 			\
+	aggregates		\
 	algebra			\
 	bnode-coreference	\
 	bound 			\
diff --git a/tests/libtracker-data/aggregates/Makefile.am b/tests/libtracker-data/aggregates/Makefile.am
new file mode 100644
index 0000000..4433cf9
--- /dev/null
+++ b/tests/libtracker-data/aggregates/Makefile.am
@@ -0,0 +1,11 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 				\
+	data-1.ontology			\
+	data-1.ttl			\
+	aggregate-1.out			\
+	aggregate-1.rq			\
+	aggregate-distinct-1.out	\
+	aggregate-distinct-1.rq		\
+	aggregate-group-1.out		\
+	aggregate-group-1.rq
diff --git a/tests/libtracker-data/aggregates/aggregate-1.out b/tests/libtracker-data/aggregates/aggregate-1.out
new file mode 100644
index 0000000..702d22b
--- /dev/null
+++ b/tests/libtracker-data/aggregates/aggregate-1.out
@@ -0,0 +1 @@
+"9"	"3.333333"	"5"	"1"
diff --git a/tests/libtracker-data/aggregates/aggregate-1.rq b/tests/libtracker-data/aggregates/aggregate-1.rq
new file mode 100755
index 0000000..b9aee27
--- /dev/null
+++ b/tests/libtracker-data/aggregates/aggregate-1.rq
@@ -0,0 +1,5 @@
+PREFIX : <http://example/> 
+
+SELECT SUM(?v) AVG(?w) MAX(?v) MIN(?v)
+{ ?_x :i1 ?v ;
+      :i2 ?w }
diff --git a/tests/libtracker-data/aggregates/aggregate-distinct-1.out b/tests/libtracker-data/aggregates/aggregate-distinct-1.out
new file mode 100644
index 0000000..5d49fe0
--- /dev/null
+++ b/tests/libtracker-data/aggregates/aggregate-distinct-1.out
@@ -0,0 +1 @@
+"3.333333"	"4.000000"
diff --git a/tests/libtracker-data/aggregates/aggregate-distinct-1.rq b/tests/libtracker-data/aggregates/aggregate-distinct-1.rq
new file mode 100755
index 0000000..3363920
--- /dev/null
+++ b/tests/libtracker-data/aggregates/aggregate-distinct-1.rq
@@ -0,0 +1,4 @@
+PREFIX : <http://example/> 
+
+SELECT AVG(?w) AVG(DISTINCT ?w) 
+{ ?_x :i2 ?w }
diff --git a/tests/libtracker-data/aggregates/aggregate-group-1.out b/tests/libtracker-data/aggregates/aggregate-group-1.out
new file mode 100644
index 0000000..3b41f13
--- /dev/null
+++ b/tests/libtracker-data/aggregates/aggregate-group-1.out
@@ -0,0 +1,2 @@
+"http://example/x";	"2"	"8"	"string t|string y"
+"http://example/z";	"1"	"13"	"string u"
diff --git a/tests/libtracker-data/aggregates/aggregate-group-1.rq b/tests/libtracker-data/aggregates/aggregate-group-1.rq
new file mode 100755
index 0000000..d57821a
--- /dev/null
+++ b/tests/libtracker-data/aggregates/aggregate-group-1.rq
@@ -0,0 +1,9 @@
+PREFIX : <http://example/> 
+
+SELECT ?a COUNT(DISTINCT ?b) SUM(?ib) GROUP_CONCAT(?sb, "|")
+{ ?a a :A ;
+     :b ?b .
+  ?b :ib ?ib .
+  ?b :sb ?sb .
+  FILTER (?ib>2) }
+GROUP BY ?a
diff --git a/tests/libtracker-data/aggregates/data-1.ontology b/tests/libtracker-data/aggregates/data-1.ontology
new file mode 100644
index 0000000..e19d007
--- /dev/null
+++ b/tests/libtracker-data/aggregates/data-1.ontology
@@ -0,0 +1,34 @@
+ prefix example: <http://example/> .
+ 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:B a rdfs:Class ;
+	rdfs:subClassOf rdfs:Resource .
+
+example:b a rdf:Property ;
+	rdfs:domain example:A ;
+	rdfs:range example:B .
+
+example:i1 a rdf:Property ;
+	rdfs:domain example:A ;
+	rdfs:range xsd:integer .
+
+example:i2 a rdf:Property ;
+	rdfs:domain example:A ;
+	rdfs:range xsd:integer .
+
+example:ib a rdf:Property ;
+	rdfs:domain example:B ;
+	rdfs:range xsd:integer .
+
+example:sb a rdf:Property ;
+	rdfs:domain example:B ;
+	rdfs:range xsd:string .
diff --git a/tests/libtracker-data/aggregates/data-1.ttl b/tests/libtracker-data/aggregates/data-1.ttl
new file mode 100755
index 0000000..e06455e
--- /dev/null
+++ b/tests/libtracker-data/aggregates/data-1.ttl
@@ -0,0 +1,34 @@
+ prefix : <http://example/> .
+ prefix xsd:        <http://www.w3.org/2001/XMLSchema#> .
+
+:x a :A .
+:x :i1 "1"^^xsd:integer .
+:x :i2 "2"^^xsd:integer .
+:x :b :r .
+:x :b :t .
+:x :b :y .
+
+:y a :A .
+:y :i1 "3"^^xsd:integer .
+:y :i2 "6"^^xsd:integer .
+
+:z a :A .
+:z :i1 "5"^^xsd:integer .
+:z :i2 "2"^^xsd:integer .
+:z :b :u .
+
+:r a :B .
+:r :ib "1"^^xsd:integer .
+:r :sb "string r" .
+
+:t a :B .
+:t :ib "5"^^xsd:integer .
+:t :sb "string t" .
+
+:y a :B .
+:y :ib "3"^^xsd:integer .
+:y :sb "string y" .
+
+:u a :B .
+:u :ib "13"^^xsd:integer .
+:u :sb "string u" .
diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c
index 254f6ca..35792e6 100644
--- a/tests/libtracker-data/tracker-sparql-test.c
+++ b/tests/libtracker-data/tracker-sparql-test.c
@@ -42,6 +42,9 @@ struct _TestInfo {
 };
 
 const TestInfo tests[] = {
+	{ "aggregates/aggregate-1", "aggregates/data-1", FALSE },
+	{ "aggregates/aggregate-distinct-1", "aggregates/data-1", FALSE },
+	{ "aggregates/aggregate-group-1", "aggregates/data-1", FALSE },
 	{ "algebra/two-nested-opt", "algebra/two-nested-opt", FALSE },
 	{ "algebra/two-nested-opt-alt", "algebra/two-nested-opt", FALSE },
 	{ "algebra/opt-filter-3", "algebra/opt-filter-3", FALSE },



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]