[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/network/libktelepathy/tests
From: George Goldberg <grundleborg () googlemail ! com>
Date: 2010-09-22 11:39:26
Message-ID: 20100922113926.70AF3AC88E () svn ! kde ! org
[Download RAW message or body]
SVN commit 1178202 by gberg:
Complete the Entity unit test.
M +158 -9 entity-test.cpp
M +0 -1 entity-test.h
--- trunk/playground/network/libktelepathy/tests/entity-test.cpp #1178201:1178202
@@ -97,37 +97,186 @@
resource.remove();
}
-void EntityTest::testOperatorsEqualsNotEqual()
+void EntityTest::testqHash()
{
- // Try equating two invalid Entities.
+ // Use a QSet to test the qHash implementation
+ QSet<EntityPtr> entities;
- // Try equating two different valid entities
+ // Add a valid Entity Ptr
+ Nepomuk::Resource resource1(QUrl::fromEncoded("nepomuk:/entity-test-qHash-1"));
+ resource1.addType(Nepomuk::Vocabulary::NCO::PersonContact());
- // Try equating two same valid entities
+ QVERIFY(resource1.exists());
+ QVERIFY(resource1.hasType(Nepomuk::Vocabulary::NCO::PersonContact()));
- // Try equating two same valid, but removed from nepomuk entities
+ EntityPtr entity1 = TestBackdoors::entityConstruct(resource1);
- // Try equating two different valid, but removed from nepomuk entities.
-}
+ entities.insert(entity1);
-void EntityTest::testqHash()
-{
+ QCOMPARE(entities.size(), 1);
+ QVERIFY(entities.contains(entity1));
+ // Add another valid Entity Ptr
+ Nepomuk::Resource resource2(QUrl::fromEncoded("nepomuk:/entity-test-qHash-2"));
+ resource2.addType(Nepomuk::Vocabulary::NCO::PersonContact());
+
+ QVERIFY(resource2.exists());
+ QVERIFY(resource2.hasType(Nepomuk::Vocabulary::NCO::PersonContact()));
+
+ EntityPtr entity2 = TestBackdoors::entityConstruct(resource2);
+
+ entities.insert(entity2);
+
+ QCOMPARE(entities.size(), 2);
+ QVERIFY(entities.contains(entity1));
+ QVERIFY(entities.contains(entity2));
+
+ // Add the same EntityPtr again
+ entities.insert(entity2);
+
+ QCOMPARE(entities.size(), 2);
+ QVERIFY(entities.contains(entity1));
+ QVERIFY(entities.contains(entity2));
+
+ // Add a different EntityPtr to the same Entity again.
+ EntityPtr entity3 = TestBackdoors::entityConstruct(resource2);
+
+ entities.insert(entity3);
+
+ QCOMPARE(entities.size(), 3);
+ QVERIFY(entities.contains(entity1));
+ QVERIFY(entities.contains(entity2));
+ QVERIFY(entities.contains(entity3));
+
+ // Add an invalid EntityPtr
+ EntityPtr entity4 = TestBackdoors::entityConstruct();
+
+ entities.insert(entity4);
+
+ QCOMPARE(entities.size(), 4);
+ QVERIFY(entities.contains(entity1));
+ QVERIFY(entities.contains(entity2));
+ QVERIFY(entities.contains(entity3));
+ QVERIFY(entities.contains(entity4));
+
+ // Add the same invalid EntityPtr again
+ entities.insert(entity4);
+
+ QCOMPARE(entities.size(), 4);
+ QVERIFY(entities.contains(entity1));
+ QVERIFY(entities.contains(entity2));
+ QVERIFY(entities.contains(entity3));
+ QVERIFY(entities.contains(entity4));
+
+ // Add another invalid EntityPtr
+ EntityPtr entity5 = TestBackdoors::entityConstruct();
+
+ entities.insert(entity5);
+
+ QCOMPARE(entities.size(), 5);
+ QVERIFY(entities.contains(entity1));
+ QVERIFY(entities.contains(entity2));
+ QVERIFY(entities.contains(entity3));
+ QVERIFY(entities.contains(entity4));
+ QVERIFY(entities.contains(entity5));
+
+ // Cleanup Nepomuk data
+ resource1.remove();
+ resource2.remove();
}
void EntityTest::testResource()
{
+ // Create a valid Entity Ptr
+ Nepomuk::Resource resource(QUrl::fromEncoded("nepomuk:/entity-test-resource-1"));
+ resource.addType(Nepomuk::Vocabulary::NCO::PersonContact());
+ QVERIFY(resource.exists());
+ QVERIFY(resource.hasType(Nepomuk::Vocabulary::NCO::PersonContact()));
+ EntityPtr entity1 = TestBackdoors::entityConstruct(resource);
+
+ // The resource should be invalid until we setValid the entity.
+ QCOMPARE(entity1->resource(), Nepomuk::Resource());
+
+ // But valid, once setValid is true
+ TestBackdoors::entitySetValid(entity1, true);
+ QCOMPARE(entity1->resource(), resource);
+
+ // Remove the resource from Nepomuk
+ resource.remove();
+
+ // Check the resource() method is now invalid
+ QCOMPARE(entity1->resource(), Nepomuk::Resource());
+
+ // An invalid entity should return an invalid resource
+ EntityPtr entity2 = TestBackdoors::entityConstruct();
+ QCOMPARE(entity2->resource(), Nepomuk::Resource());
+
+ // Cleanup Nepomuk data
+ // No cleanup needed here
}
void EntityTest::testResourceUri()
{
+ // Create an invalid Entity Ptr
+ EntityPtr entity1 = TestBackdoors::entityConstruct();
+ // Check the resourceUri() is invalid
+ QCOMPARE(entity1->resourceUri(), QUrl());
+
+ // Create a valid Entity Ptr
+ QUrl resourceUri = QUrl::fromEncoded("nepomuk:/entity-test-resource-uri-1");
+ Nepomuk::Resource resource(resourceUri);
+ resource.addType(Nepomuk::Vocabulary::NCO::PersonContact());
+ QVERIFY(resource.exists());
+ QVERIFY(resource.hasType(Nepomuk::Vocabulary::NCO::PersonContact()));
+
+ EntityPtr entity2 = TestBackdoors::entityConstruct(resource);
+
+ // The resourceUri should be valid immediately
+ QCOMPARE(entity2->resourceUri(), resourceUri);
+
+ // Remove the resource from Nepomuk
+ resource.remove();
+
+ // Check the resource URI is still valid
+ QCOMPARE(entity2->resourceUri(), resourceUri);
+
+ // Cleanup Nepomuk data
+ // No cleanup needed here
}
void EntityTest::testValidSetValid()
{
+ // Create an entity from a valid Nepomuk Resource
+ Nepomuk::Resource resource(QUrl::fromEncoded("nepomuk:/entity-test-valid-set-valid-1"));
+ resource.addType(Nepomuk::Vocabulary::NCO::PersonContact());
+ QVERIFY(resource.exists());
+ QVERIFY(resource.hasType(Nepomuk::Vocabulary::NCO::PersonContact()));
+ EntityPtr entity1 = TestBackdoors::entityConstruct(resource);
+
+ // Check that it is invalid
+ QVERIFY(!entity1->isValid());
+
+ // Mark it as valid
+ TestBackdoors::entitySetValid(entity1, true);
+ QVERIFY(entity1->isValid());
+
+ // Remove the Nepomuk Resource and check it remains valid
+ resource.remove();
+ QVERIFY(entity1->isValid());
+
+ // Manually set it as invalid, as a subclass would
+ TestBackdoors::entitySetValid(entity1, false);
+ QVERIFY(!entity1->isValid());
+
+ // Check that a newly constructed invalid entity is valid() == false
+ EntityPtr entity2 = TestBackdoors::entityConstruct();
+ QVERIFY(!entity2->isValid());
+
+ // Cleanup Nepomuk data
+ // Nothing to cleanup here
}
--- trunk/playground/network/libktelepathy/tests/entity-test.h #1178201:1178202
@@ -41,7 +41,6 @@
void testConstructorDestructor();
void testResource();
void testResourceUri();
- void testOperatorsEqualsNotEqual();
void testValidSetValid();
void testqHash();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic