summaryrefslogtreecommitdiff
path: root/tests/test-resource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-resource.cpp')
-rw-r--r--tests/test-resource.cpp50
1 files changed, 48 insertions, 2 deletions
diff --git a/tests/test-resource.cpp b/tests/test-resource.cpp
index 49c43b0..5064df9 100644
--- a/tests/test-resource.cpp
+++ b/tests/test-resource.cpp
@@ -3,7 +3,7 @@
using namespace ResourceTypes;
TestResource::TestResource()
- : isReservable(false)
+ : isReservable(false), isReserved(false)
{
}
@@ -14,13 +14,15 @@ TestResource::~TestResource()
void TestResource::init()
{
resource = new Resource(MediaClass, AudioResource|VideoResource, this);
- resourceLibrary = new MockResourceLibrary(resource, false, false);
+ resourceLibrary = new MockResourceLibrary(resource);
QVERIFY(resource != NULL);
QVERIFY(resource->applicationClass() == MediaClass);
QVERIFY(resource->resources() == (AudioResource|VideoResource));
QVERIFY(resource->isReserved() == false);
QVERIFY(resource->hasResource(AudioResource));
QVERIFY(resource->hasResource(VideoResource));
+ isReservable =false;
+ isReserved = false;
}
void TestResource::testApplicationClass()
@@ -110,4 +112,48 @@ void TestResource::handleReservable()
isReservable = true;
}
+void TestResource::testReserve()
+{
+ resource->initialize(resourceLibrary);
+ QObject::connect(resource, SIGNAL(stateChanged(enum ResourceState)),
+ this, SLOT(handleStateChanged(enum ResourceState)));
+ resource->connectToServer();
+
+ bool reserveSucceeds = resource->reserve();
+
+ QVERIFY(resource->isReserved());
+ QVERIFY(reserveSucceeds);
+ QVERIFY(isReserved);
+}
+
+void TestResource::testReserveExpectFail()
+{
+ MockResourceLibrary *mockResourceLibrary =
+ static_cast<MockResourceLibrary *>(resourceLibrary);
+
+ resource->initialize(resourceLibrary);
+ QObject::connect(resource, SIGNAL(stateChanged(enum ResourceState)),
+ this, SLOT(handleStateChanged(enum ResourceState)));
+ resource->connectToServer();
+
+ mockResourceLibrary->makeReserveFail();
+ bool reserveSucceeds = resource->reserve();
+
+ QVERIFY(reserveSucceeds);
+ QEXPECT_FAIL("", "Expecting resourceLibrary->reserve() to fail", Continue);
+ QVERIFY(isReserved);
+}
+
+void TestResource::handleStateChanged(enum ResourceState newState)
+{
+ switch(newState) {
+ case OwnedState:
+ isReserved = true;
+ break;
+ default:
+ isReserved = false;
+ break;
+ }
+}
+
QTEST_MAIN(TestResource)