You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by wi...@apache.org on 2016/05/02 11:49:48 UTC

[11/50] [abbrv] marmotta git commit: more testing

more testing


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/622a3009
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/622a3009
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/622a3009

Branch: refs/heads/MARMOTTA-584
Commit: 622a30099d3ed004de3d1869fe42f867d5bf81b7
Parents: 299272a
Author: Sebastian Schaffert <ss...@apache.org>
Authored: Sat Dec 19 16:53:28 2015 +0100
Committer: Sebastian Schaffert <ss...@apache.org>
Committed: Sat Dec 19 16:53:28 2015 +0100

----------------------------------------------------------------------
 .../ostrich/backend/test/PersistenceTest.cc     | 53 +++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/622a3009/libraries/ostrich/backend/test/PersistenceTest.cc
----------------------------------------------------------------------
diff --git a/libraries/ostrich/backend/test/PersistenceTest.cc b/libraries/ostrich/backend/test/PersistenceTest.cc
index 9878cd6..fdfc604 100644
--- a/libraries/ostrich/backend/test/PersistenceTest.cc
+++ b/libraries/ostrich/backend/test/PersistenceTest.cc
@@ -16,6 +16,8 @@
 
 using namespace boost::filesystem;
 
+using testing::Contains;
+
 namespace marmotta {
 namespace rdf {
 namespace proto {
@@ -42,7 +44,7 @@ class PersistenceTest : public ::testing::Test {
     }
 
     ~PersistenceTest() {
-        LOG(INFO) << "Destroying Test DB";
+        LOG(INFO) << "Destroying Test DB: " << testdir.string();
         delete db;
         remove_all(testdir);
     }
@@ -71,6 +73,55 @@ TEST_F(PersistenceTest, TestAddStatements) {
     }
 }
 
+
+TEST_F(PersistenceTest, TestGetStatements) {
+    std::vector<rdf::proto::Statement> stmts = {
+            rdf::Statement(rdf::URI("http://example.com/s1"), rdf::URI("http://example.com/p1"),
+                           rdf::URI("http://example.com/o1")).getMessage(),
+            rdf::Statement(rdf::URI("http://example.com/s2"), rdf::URI("http://example.com/p1"),
+                           rdf::URI("http://example.com/o1")).getMessage(),
+            rdf::Statement(rdf::URI("http://example.com/s1"), rdf::URI("http://example.com/p2"),
+                           rdf::URI("http://example.com/o2")).getMessage(),
+            rdf::Statement(rdf::URI("http://example.com/s2"), rdf::URI("http://example.com/p2"),
+                           rdf::URI("http://example.com/o2")).getMessage(),
+            rdf::Statement(rdf::URI("http://example.com/s1"), rdf::URI("http://example.com/p3"),
+                           rdf::URI("http://example.com/o3")).getMessage(),
+    };
+
+    util::CollectionIterator<rdf::proto::Statement> it(stmts);
+    db->AddStatements(it);
+
+    EXPECT_EQ(5, db->Size());
+
+    rdf::Statement pattern1;
+    pattern1.setSubject(rdf::URI("http://example.com/s1"));
+    auto it1 = db->GetStatements(pattern1.getMessage());
+    for (int i=0; i<3; i++) {
+        ASSERT_TRUE(it1->hasNext());
+        EXPECT_THAT(stmts, Contains(it1->next()));
+    }
+    EXPECT_FALSE(it1->hasNext());
+
+    rdf::Statement pattern2;
+    pattern2.setObject(rdf::URI("http://example.com/o1"));
+    auto it2 = db->GetStatements(pattern2.getMessage());
+    for (int i=0; i<2; i++) {
+        ASSERT_TRUE(it2->hasNext());
+        EXPECT_THAT(stmts, Contains(it2->next()));
+    }
+    EXPECT_FALSE(it2->hasNext());
+
+    rdf::Statement pattern3;
+    pattern2.setPredicate(rdf::URI("http://example.com/p1"));
+    auto it3 = db->GetStatements(pattern2.getMessage());
+    for (int i=0; i<2; i++) {
+        ASSERT_TRUE(it3->hasNext());
+        EXPECT_THAT(stmts, Contains(it3->next()));
+    }
+    EXPECT_FALSE(it3->hasNext());
+}
+
+
 }
 }
 }