summaryrefslogtreecommitdiff
path: root/tests/test-resource.cpp
diff options
context:
space:
mode:
authorWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-01-29 17:20:56 +0200
committerWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-01-29 17:20:56 +0200
commit0746bbd252fe13ce3c4ae523fc28b0cf27314c05 (patch)
tree323b3406c6f893f21c7c7820532c0df2a61881cc /tests/test-resource.cpp
parent27c45e867533ad43bc2b2e64fe577a503b2d05a8 (diff)
Refactored Resource into multiple classes
Diffstat (limited to 'tests/test-resource.cpp')
-rw-r--r--tests/test-resource.cpp278
1 files changed, 209 insertions, 69 deletions
diff --git a/tests/test-resource.cpp b/tests/test-resource.cpp
index e5c60bd..2098a88 100644
--- a/tests/test-resource.cpp
+++ b/tests/test-resource.cpp
@@ -3,139 +3,279 @@
using namespace ResourcePolicy;
-TestResource::TestResource()
+Resource * TestResource::resourceFromType(ResourceType type)
{
+ switch(type) {
+ case AudioPlaybackType:
+ return audioResource;
+ case AudioRecorderType:
+ return audioRecorderResource;
+ case VideoPlaybackType:
+ return videoResource;
+ case VideoRecorderType:
+ return videoRecorderResource;
+ case VibraType:
+ return vibraResource;
+ case LedsType:
+ return ledsResource;
+ case BacklightType:
+ return backlightResource;
+ case SystemButtonType:
+ return systemButtonResource;
+ case LockButtonType:
+ return lockButtonResource;
+ case ScaleButtonType:
+ return scaleButtonResource;
+ case SnapButtonType:
+ return snapButtonResource;
+ case LensCoverType:
+ return lensCoverResource;
+ default:
+ return NULL;
+ }
}
-TestResource::~TestResource()
+const char * TestResource::stringFromType(ResourceType type)
{
+ switch(type) {
+ case AudioPlaybackType:
+ return "AudioPlaybackType";
+ case AudioRecorderType:
+ return "AudioRecorderType";
+ case VideoPlaybackType:
+ return "VideoPlaybackType";
+ case VideoRecorderType:
+ return "VideoRecorderType";
+ case VibraType:
+ return "VibraType";
+ case LedsType:
+ return "LedsType";
+ case BacklightType:
+ return "BacklightType";
+ case SystemButtonType:
+ return "SystemButtonType";
+ case LockButtonType:
+ return "LockButtonType";
+ case ScaleButtonType:
+ return "ScaleButtonType";
+ case SnapButtonType:
+ return "SnapButtonType";
+ case LensCoverType:
+ return "LensCoverType";
+ default:
+ qDebug("Unknown Type 0x%02x requested", type);
+ return NULL;
+ }
}
-void TestResource::init()
+TestResource::TestResource()
{
- resource = new Resource();
}
-void TestResource::cleanup()
+TestResource::~TestResource()
{
- delete resource;
}
-void TestResource::testType_data()
+void TestResource::init()
{
- QTest::addColumn<ResourceType>("type");
- QTest::addColumn<ResourceType>("expected");
+ audioResource = new AudioResource;
+ audioRecorderResource = new AudioRecorderResource;
+ videoResource = new VideoResource;
+ videoRecorderResource = new VideoRecorderResource;
+ vibraResource = new VibraResource;
+ ledsResource = new LedsResource;
+ backlightResource = new BacklightResource;
+ systemButtonResource = new SystemButtonResource;
+ lockButtonResource = new LockButtonResource;
+ scaleButtonResource = new ScaleButtonResource;
+ snapButtonResource = new SnapButtonResource;
+ lensCoverResource = new LensCoverResource;
+}
- QTest::newRow("AudioPlayback") << AudioPlaybackResource << AudioPlaybackResource;
- QTest::newRow("VideoPlayback") << VideoPlaybackResource << VideoPlaybackResource;
- QTest::newRow("AudioRecorder") << AudioRecorderResource << AudioRecorderResource;
- QTest::newRow("VideoRecorder") << VideoRecorderResource << VideoRecorderResource;
- QTest::newRow("Invalid") << InvalidResource << InvalidResource;
+void TestResource::cleanup()
+{
+ delete audioResource;
+ delete audioRecorderResource;
+ delete videoResource;
+ delete videoRecorderResource;
+ delete vibraResource;
+ delete ledsResource;
+ delete backlightResource;
+ delete systemButtonResource;
+ delete lockButtonResource;
+ delete scaleButtonResource;
+ delete snapButtonResource;
+ delete lensCoverResource;
}
void TestResource::testType()
{
- QFETCH(ResourceType, type);
- QFETCH(ResourceType, expected);
- bool setWasSuccessfull = resource->setType(type);
- ResourceType result = resource->type();
-
- if(expected == InvalidResource) {
- QEXPECT_FAIL("", "Expecting to fail since type == InvalidResource", Continue);
+ for(quint32 type=AudioPlaybackType; type < NumberOfTypes; type++) {
+ ResourceType expected = (ResourceType)type;
+ Resource *resource = resourceFromType(expected);
+ if(resource->type() != expected) {
+ qDebug("expected ResourceType = %s, got %s",
+ stringFromType(expected), stringFromType(resource->type()));
+ }
+ QVERIFY(resource->type() == expected);
}
- QVERIFY(setWasSuccessfull);
- QCOMPARE(result, expected);
}
void TestResource::testOptional_data()
{
+ QTest::addColumn<ResourceType>("type");
QTest::addColumn<bool>("optional");
QTest::addColumn<bool>("expected");
- QTest::newRow("Resource is optional") << true << true;
- QTest::newRow("Resource is not optional") << false << false;
+ QTest::newRow("Resource is optional") << AudioPlaybackType << true << true;
+ QTest::newRow("Resource is not optional") << AudioPlaybackType << false << false;
+ QTest::newRow("Resource is optional") << AudioRecorderType << true << true;
+ QTest::newRow("Resource is not optional") << AudioRecorderType << false << false;
+ QTest::newRow("Resource is optional") << VideoPlaybackType << true << true;
+ QTest::newRow("Resource is not optional") << VideoPlaybackType << false << false;
+ QTest::newRow("Resource is optional") << VideoRecorderType << true << true;
+ QTest::newRow("Resource is not optional") << VideoRecorderType << false << false;
+ QTest::newRow("Resource is optional") << VibraType << true << true;
+ QTest::newRow("Resource is not optional") << VibraType<< false << false;
+ QTest::newRow("Resource is optional") << BacklightType << true << true;
+ QTest::newRow("Resource is not optional") << BacklightType << false << false;
+ QTest::newRow("Resource is optional") << SystemButtonType << true << true;
+ QTest::newRow("Resource is not optional") << SystemButtonType << false << false;
+ QTest::newRow("Resource is optional") << LedsType << true << true;
+ QTest::newRow("Resource is not optional") << LedsType << false << false;
+ QTest::newRow("Resource is optional") << LockButtonType << true << true;
+ QTest::newRow("Resource is not optional") << LockButtonType << false << false;
+ QTest::newRow("Resource is optional") << ScaleButtonType << true << true;
+ QTest::newRow("Resource is not optional") << ScaleButtonType << false << false;
+ QTest::newRow("Resource is optional") << SnapButtonType << true << true;
+ QTest::newRow("Resource is not optional") << SnapButtonType << false << false;
+ QTest::newRow("Resource is optional") << LensCoverType << true << true;
+ QTest::newRow("Resource is not optional") << LensCoverType << false << false;
}
void TestResource::testOptional()
{
+ QFETCH(ResourceType, type);
QFETCH(bool, optional);
QFETCH(bool, expected);
- resource->setType(AudioPlaybackResource);
+ Resource *resource = resourceFromType(type);
+
resource->setOptional(optional);
bool result = resource->isOptional();
- QCOMPARE(result, expected);
+ QVERIFY(result == expected);
}
void TestResource::testShared_data()
{
- QTest::addColumn<bool>("optional");
+ QTest::addColumn<ResourceType>("type");
+ QTest::addColumn<bool>("shared");
QTest::addColumn<bool>("expected");
- QTest::newRow("Resource is shared") << true << true;
- QTest::newRow("Resource is not shared") << false << false;
+ QTest::newRow("Resource is shared") << AudioPlaybackType << true << true;
+ QTest::newRow("Resource is not shared") << AudioPlaybackType << false << false;
+ QTest::newRow("Resource is shared") << AudioRecorderType << true << true;
+ QTest::newRow("Resource is not shared") << AudioRecorderType << false << false;
+ QTest::newRow("Resource is shared") << VideoPlaybackType << true << true;
+ QTest::newRow("Resource is not shared") << VideoPlaybackType << false << false;
+ QTest::newRow("Resource is shared") << VideoRecorderType << true << true;
+ QTest::newRow("Resource is not shared") << VideoRecorderType << false << false;
+ QTest::newRow("Resource is shared") << VibraType << true << true;
+ QTest::newRow("Resource is not shared") << VibraType<< false << false;
+ QTest::newRow("Resource is shared") << BacklightType << true << true;
+ QTest::newRow("Resource is not shared") << BacklightType << false << false;
+ QTest::newRow("Resource is shared") << SystemButtonType << true << true;
+ QTest::newRow("Resource is not shared") << SystemButtonType << false << false;
+ QTest::newRow("Resource is shared") << LedsType << true << true;
+ QTest::newRow("Resource is not shared") << LedsType << false << false;
+ QTest::newRow("Resource is shared") << LockButtonType << true << true;
+ QTest::newRow("Resource is not shared") << LockButtonType << false << false;
+ QTest::newRow("Resource is shared") << ScaleButtonType << true << true;
+ QTest::newRow("Resource is not shared") << ScaleButtonType << false << false;
+ QTest::newRow("Resource is shared") << SnapButtonType << true << true;
+ QTest::newRow("Resource is not shared") << SnapButtonType << false << false;
+ QTest::newRow("Resource is shared") << LensCoverType << true << true;
+ QTest::newRow("Resource is not shared") << LensCoverType << false << false;
}
void TestResource::testShared()
{
- QFETCH(bool, optional);
+ QFETCH(ResourceType, type);
+ QFETCH(bool, shared);
QFETCH(bool, expected);
- resource->setType(AudioPlaybackResource);
- resource->setShared(optional);
+ Resource *resource = resourceFromType(type);
+ resource->setShared(shared);
+
bool result = resource->isShared();
QCOMPARE(result, expected);
}
-void TestResource::testCopy()
+void TestResource::testGranted_data()
{
- Resource copy;
- resource->setType(AudioPlaybackResource);
- resource->setOptional();
-
- copy = *resource;
-
- QCOMPARE(copy.isOptional(), resource->isOptional());
- QCOMPARE(copy.isShared(), resource->isShared());
- QCOMPARE(copy.type(), resource->type());
+ QTest::addColumn<ResourceType>("type");
+ QTest::addColumn<bool>("granted");
+ QTest::addColumn<bool>("expected");
+
+ QTest::newRow("Resource is granted") << AudioPlaybackType << true << true;
+ QTest::newRow("Resource is denied") << AudioPlaybackType << false << false;
+ QTest::newRow("Resource is granted") << AudioRecorderType << true << true;
+ QTest::newRow("Resource is denied") << AudioRecorderType << false << false;
+ QTest::newRow("Resource is granted") << VideoPlaybackType << true << true;
+ QTest::newRow("Resource is denied") << VideoPlaybackType << false << false;
+ QTest::newRow("Resource is granted") << VideoRecorderType << true << true;
+ QTest::newRow("Resource is denied") << VideoRecorderType << false << false;
+ QTest::newRow("Resource is granted") << VibraType << true << true;
+ QTest::newRow("Resource is denied") << VibraType<< false << false;
+ QTest::newRow("Resource is granted") << BacklightType << true << true;
+ QTest::newRow("Resource is denied") << BacklightType << false << false;
+ QTest::newRow("Resource is granted") << SystemButtonType << true << true;
+ QTest::newRow("Resource is denied") << SystemButtonType << false << false;
+ QTest::newRow("Resource is granted") << LedsType << true << true;
+ QTest::newRow("Resource is denied") << LedsType << false << false;
+ QTest::newRow("Resource is granted") << LockButtonType << true << true;
+ QTest::newRow("Resource is denied") << LockButtonType << false << false;
+ QTest::newRow("Resource is granted") << ScaleButtonType << true << true;
+ QTest::newRow("Resource is denied") << ScaleButtonType << false << false;
+ QTest::newRow("Resource is granted") << SnapButtonType << true << true;
+ QTest::newRow("Resource is denied") << SnapButtonType << false << false;
+ QTest::newRow("Resource is granted") << LensCoverType << true << true;
+ QTest::newRow("Resource is denied") << LensCoverType << false << false;
}
-void TestResource::testCopyConstructor()
+void TestResource::testGranted()
{
- resource->setType(AudioPlaybackResource);
- resource->setOptional();
- Resource copy(*resource);
+ QFETCH(ResourceType, type);
+ QFETCH(bool, granted);
+ QFETCH(bool, expected);
- QCOMPARE(copy.isOptional(), resource->isOptional());
- QCOMPARE(copy.isShared(), resource->isShared());
- QCOMPARE(copy.type(), resource->type());
-}
+ Resource *resource = resourceFromType(type);
-void TestResource::testEqualsOperator()
-{
- Resource copy;
- resource->setType(AudioPlaybackResource);
- copy = *resource;
+ if(granted)
+ resource->setGranted();
+ else
+ resource->unsetGranted();
+ bool result = resource->isGranted();
- resource->setOptional();
- resource->setShared();
-
- QVERIFY(copy == *resource);
+ QVERIFY(result == expected);
}
-void TestResource::testEqualsOperatorWithDifferentTypes()
+void TestResource::testClone()
{
- Resource copy;
- resource->setType(AudioPlaybackResource);
- copy = *resource;
-
- resource->setOptional();
- copy.setType(VideoPlaybackResource);
+ for(quint32 type=AudioPlaybackType; type < NumberOfTypes; type++) {
+ Resource *resource = resourceFromType((ResourceType)type);
+ resource->setOptional();
+ Resource *copy = resource->clone();
- QEXPECT_FAIL("", "Expecting to fail since different types.", Continue);
- QVERIFY(copy == *resource);
+ QCOMPARE(copy->isOptional(), resource->isOptional());
+ QCOMPARE(copy->isShared(), resource->isShared());
+ QCOMPARE(copy->isGranted(), resource->isGranted());
+ QCOMPARE(copy->type(), resource->type());
+ delete copy;
+ }
}
QTEST_MAIN(TestResource)
+