From 46231bee2baef5d992ebe497b1f1ac9c54ae667b Mon Sep 17 00:00:00 2001 From: jrand Date: Thu, 12 Sep 2002 05:14:36 +0000 Subject: [PATCH] Adding first test for BDeskbar. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1017 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kits/interface/InterfaceKitTestAddon.cpp | 2 + src/tests/kits/interface/Jamfile | 5 + .../interface/bdeskbar/DeskbarGetItemTest.cpp | 110 ++++++++++++++++++ .../interface/bdeskbar/DeskbarGetItemTest.h | 32 +++++ .../kits/interface/bdeskbar/DeskbarTest.cpp | 18 +++ .../kits/interface/bdeskbar/DeskbarTest.h | 14 +++ 6 files changed, 181 insertions(+) create mode 100644 src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.cpp create mode 100644 src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.h create mode 100644 src/tests/kits/interface/bdeskbar/DeskbarTest.cpp create mode 100644 src/tests/kits/interface/bdeskbar/DeskbarTest.h diff --git a/src/tests/kits/interface/InterfaceKitTestAddon.cpp b/src/tests/kits/interface/InterfaceKitTestAddon.cpp index 293faf1a4e..1c7b67d6da 100644 --- a/src/tests/kits/interface/InterfaceKitTestAddon.cpp +++ b/src/tests/kits/interface/InterfaceKitTestAddon.cpp @@ -3,12 +3,14 @@ // ##### Include headers for your tests here ##### #include "bbitmap/BitmapTest.h" +#include "bdeskbar/DeskbarTest.h" BTestSuite* getTestSuite() { BTestSuite *suite = new BTestSuite("Interface"); // ##### Add test suites here ##### suite->addTest("BBitmap", BitmapTestSuite()); + suite->addTest("BDeskbar", DeskbarTestSuite()); return suite; } diff --git a/src/tests/kits/interface/Jamfile b/src/tests/kits/interface/Jamfile index a080e0a85e..383e96addb 100644 --- a/src/tests/kits/interface/Jamfile +++ b/src/tests/kits/interface/Jamfile @@ -2,6 +2,7 @@ SubDir OBOS_TOP src tests kits interface ; # Let Jam know where to find some of our source files SEARCH_SOURCE += [ FDirName $(SUBDIR) bbitmap ] ; +SEARCH_SOURCE += [ FDirName $(SUBDIR) bdeskbar ] ; UsePublicHeaders interface support ; SEARCH_SOURCE += [ FDirName $(TOP) src kits interface ] ; @@ -15,6 +16,10 @@ CommonTestLib libinterfacetest.so BBitmapTester.cpp SetBitsTester.cpp + # BDeskbar + DeskbarTest.cpp + DeskbarGetItemTest.cpp + : libopenbeos.so be stdc++.r4 : be stdc++.r4 diff --git a/src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.cpp b/src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.cpp new file mode 100644 index 0000000000..f7da192d7b --- /dev/null +++ b/src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.cpp @@ -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 + + +/* + * 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 + DeskbarGetItemTestCaller; + + return(new DeskbarGetItemTestCaller("BDeskbar::Get Item Test", &DeskbarGetItemTest::PerformTest)); + } \ No newline at end of file diff --git a/src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.h b/src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.h new file mode 100644 index 0000000000..e80edfe707 --- /dev/null +++ b/src/tests/kits/interface/bdeskbar/DeskbarGetItemTest.h @@ -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 + + +class DeskbarGetItemTest : + public TestCase { + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + DeskbarGetItemTest(std::string name = ""); + virtual ~DeskbarGetItemTest(); + }; + +#endif \ No newline at end of file diff --git a/src/tests/kits/interface/bdeskbar/DeskbarTest.cpp b/src/tests/kits/interface/bdeskbar/DeskbarTest.cpp new file mode 100644 index 0000000000..98c4b1ef1b --- /dev/null +++ b/src/tests/kits/interface/bdeskbar/DeskbarTest.cpp @@ -0,0 +1,18 @@ +#include "../common.h" +#include "DeskbarGetItemTest.h" + +Test *DeskbarTestSuite() +{ + TestSuite *testSuite = new TestSuite(); + + testSuite->addTest(DeskbarGetItemTest::suite()); + + return(testSuite); +} + + + + + + + diff --git a/src/tests/kits/interface/bdeskbar/DeskbarTest.h b/src/tests/kits/interface/bdeskbar/DeskbarTest.h new file mode 100644 index 0000000000..bb492696e5 --- /dev/null +++ b/src/tests/kits/interface/bdeskbar/DeskbarTest.h @@ -0,0 +1,14 @@ +#ifndef _deskbar_test_h_ +#define _deskbar_test_h_ + +class CppUnit::Test; + +CppUnit::Test *DeskbarTestSuite(); + +#endif // _deskbar_test_h_ + + + + + +