Adding first test for BDeskbar.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1017 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
jrand 2002-09-12 05:14:36 +00:00
parent 30f7ca4eab
commit 46231bee2b
6 changed files with 181 additions and 0 deletions

View File

@ -3,12 +3,14 @@
// ##### Include headers for your tests here ##### // ##### Include headers for your tests here #####
#include "bbitmap/BitmapTest.h" #include "bbitmap/BitmapTest.h"
#include "bdeskbar/DeskbarTest.h"
BTestSuite* getTestSuite() { BTestSuite* getTestSuite() {
BTestSuite *suite = new BTestSuite("Interface"); BTestSuite *suite = new BTestSuite("Interface");
// ##### Add test suites here ##### // ##### Add test suites here #####
suite->addTest("BBitmap", BitmapTestSuite()); suite->addTest("BBitmap", BitmapTestSuite());
suite->addTest("BDeskbar", DeskbarTestSuite());
return suite; return suite;
} }

View File

@ -2,6 +2,7 @@ SubDir OBOS_TOP src tests kits interface ;
# Let Jam know where to find some of our source files # Let Jam know where to find some of our source files
SEARCH_SOURCE += [ FDirName $(SUBDIR) bbitmap ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) bbitmap ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) bdeskbar ] ;
UsePublicHeaders interface support ; UsePublicHeaders interface support ;
SEARCH_SOURCE += [ FDirName $(TOP) src kits interface ] ; SEARCH_SOURCE += [ FDirName $(TOP) src kits interface ] ;
@ -15,6 +16,10 @@ CommonTestLib libinterfacetest.so
BBitmapTester.cpp BBitmapTester.cpp
SetBitsTester.cpp SetBitsTester.cpp
# BDeskbar
DeskbarTest.cpp
DeskbarGetItemTest.cpp
: <boot!home!config!lib>libopenbeos.so : <boot!home!config!lib>libopenbeos.so
be stdc++.r4 be stdc++.r4
: be stdc++.r4 : be stdc++.r4

View File

@ -0,0 +1,110 @@
/*
$Id: DeskbarGetItemTest.cpp,v 1.1 2002/09/12 05:14:36 jrand Exp $
This file implements tests for the following use cases of BDeskbar:
- Count Items
- Has Item 1
- Has Item 2
- Get Item Info 1
- Get Item Info 2
*/
#include "DeskbarGetItemTest.h"
#include <Deskbar.h>
/*
* Method: DeskbarGetItemTest::DeskbarGetItemTest()
* Descr: This is the constructor for this class.
*/
DeskbarGetItemTest::DeskbarGetItemTest(std::string name) :
TestCase(name)
{
}
/*
* Method: DeskbarGetItemTest::~DeskbarGetItemTest()
* Descr: This is the destructor for this class.
*/
DeskbarGetItemTest::~DeskbarGetItemTest()
{
}
/*
* Method: DeskbarGetItemTest::PerformTest()
* Descr: This member function
*/
void DeskbarGetItemTest::PerformTest(void)
{
BDeskbar myDeskbar;
int32 itemCount = myDeskbar.CountItems();
assert(itemCount >= 0);
int32 id=0;
int32 lastFoundId = -1;
char buffer[1024];
const char *name = buffer;
assert(!myDeskbar.HasItem("NameThatDoesNotExistWeHope!!"));
assert(myDeskbar.GetItemInfo("NameThatDoesNotExistWeHope!!", &id) == B_NAME_NOT_FOUND);
for(id = 0; ((id < 10000) && (itemCount > 0)); id++) {
int32 tmpId;
if (myDeskbar.HasItem(id)) {
itemCount--;
name = NULL;
assert(myDeskbar.GetItemInfo(id, &name) == B_BAD_VALUE);
name = buffer;
assert(myDeskbar.GetItemInfo(id, &name) == B_OK);
assert(name != buffer);
assert(myDeskbar.HasItem(name));
assert(myDeskbar.GetItemInfo(name, &tmpId) == B_OK);
delete[] name;
name = buffer;
assert(tmpId == id);
lastFoundId = id;
} else {
assert(myDeskbar.GetItemInfo(id, &name) == B_NAME_NOT_FOUND);
assert(name == buffer);
}
}
assert(itemCount == 0);
if (lastFoundId >= 0) {
for(id = lastFoundId + 1; id < lastFoundId + 200; id++) {
assert(!myDeskbar.HasItem(id));
assert(myDeskbar.GetItemInfo(id, &name) == B_NAME_NOT_FOUND);
assert(name == buffer);
}
}
}
/*
* Method: PropertyConstructionTest::suite()
* Descr: This static member function returns a test caller for performing
* all combinations of "DeskbarGetItemTest".
*/
Test *DeskbarGetItemTest::suite(void)
{
typedef CppUnit::TestCaller<DeskbarGetItemTest>
DeskbarGetItemTestCaller;
return(new DeskbarGetItemTestCaller("BDeskbar::Get Item Test", &DeskbarGetItemTest::PerformTest));
}

View File

@ -0,0 +1,32 @@
/*
$Id: DeskbarGetItemTest.h,v 1.1 2002/09/12 05:14:36 jrand Exp $
This file defines a class for performing a test of BDeskbar
functionality.
*/
#ifndef DeskbarGetItemTest_H
#define DeskbarGetItemTest_H
#include "../common.h"
#include <Deskbar.h>
class DeskbarGetItemTest :
public TestCase {
private:
protected:
public:
static Test *suite(void);
void PerformTest(void);
DeskbarGetItemTest(std::string name = "");
virtual ~DeskbarGetItemTest();
};
#endif

View File

@ -0,0 +1,18 @@
#include "../common.h"
#include "DeskbarGetItemTest.h"
Test *DeskbarTestSuite()
{
TestSuite *testSuite = new TestSuite();
testSuite->addTest(DeskbarGetItemTest::suite());
return(testSuite);
}

View File

@ -0,0 +1,14 @@
#ifndef _deskbar_test_h_
#define _deskbar_test_h_
class CppUnit::Test;
CppUnit::Test *DeskbarTestSuite();
#endif // _deskbar_test_h_