summaryrefslogtreecommitdiff
path: root/sw/qa/core/Test-BigPtrArray.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/qa/core/Test-BigPtrArray.cxx')
-rw-r--r--sw/qa/core/Test-BigPtrArray.cxx350
1 files changed, 175 insertions, 175 deletions
diff --git a/sw/qa/core/Test-BigPtrArray.cxx b/sw/qa/core/Test-BigPtrArray.cxx
index 831c750bd274..fa7cb2978016 100644
--- a/sw/qa/core/Test-BigPtrArray.cxx
+++ b/sw/qa/core/Test-BigPtrArray.cxx
@@ -2,7 +2,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -198,58 +198,58 @@ public:
printMethodName("test_insert_entries_in_the_middle\n");
RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_entries_in_the_middle");
-
- BigPtrArray bparr;
-
- fillBigPtrArray(bparr, NUM_ENTRIES);
+
+ BigPtrArray bparr;
+
+ fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
ULONG oldCount = bparr.Count();
-
+
bparr.Insert(new BigPtrEntryMock(NUM_ENTRIES), bparr.Count() / 2);
RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_entries_in_the_middle");
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_insert_entries_in_the_middle failed",
(oldCount + 1 == bparr.Count() && static_cast<BigPtrEntryMock*>(bparr[bparr.Count() / 2])->getCount() == NUM_ENTRIES)
)
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_insert_entries_in_the_middle failed",
checkElementPositions(bparr)
)
-
+
releaseBigPtrArrayContent(bparr);
- dumpBigPtrArray(bparr);
+ dumpBigPtrArray(bparr);
}
-
+
void test_insert_at_already_used_index()
{
printMethodName("test_insert_at_already_used_index\n");
-
+
RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_at_already_used_index");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
int oldCount = bparr.Count();
-
+
for (int i = 0, j = -5; i < 5; i++, j++)
bparr.Insert(new BigPtrEntryMock(j), i);
-
+
RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_at_already_used_index");
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_insert_at_already_used_index failed",
(oldCount + 5 == bparr.Count())
)
-
+
for (int i = 0, j = -5; i < bparr.Count(); i++, j++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -258,69 +258,69 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == j
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_insert_at_already_used_index failed",
checkElementPositions(bparr)
)
-
+
releaseBigPtrArrayContent(bparr);
dumpBigPtrArray(bparr);
}
-
+
void test_insert_at_end()
{
printMethodName("test_insert_at_end\n");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
ULONG oldCount = bparr.Count();
bparr.Insert(new BigPtrEntryMock(NUM_ENTRIES), bparr.Count());
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_insert_at_end failed",
(oldCount + 1 == bparr.Count() && static_cast<BigPtrEntryMock*>(bparr[bparr.Count()-1])->getCount() == NUM_ENTRIES)
)
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_insert_at_end failed",
checkElementPositions(bparr)
)
-
+
releaseBigPtrArrayContent(bparr);
dumpBigPtrArray(bparr);
}
-
+
void test_remove_at_front()
{
printMethodName("test_remove_at_front\n");
RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_remove_at_front");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
for (int i = 0; i < NUM_ENTRIES; i++)
- {
+ {
ULONG oldCount = bparr.Count();
-
- delete bparr[0]; // release content
- bparr.Remove(0); // remove item from container
-
+
+ delete bparr[0]; // release content
+ bparr.Remove(0); // remove item from container
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_at_front failed (wrong count)",
(oldCount - 1 == bparr.Count())
)
-
+
for (int j = 0, k = i + 1; j < bparr.Count(); j++, k++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -329,40 +329,40 @@ public:
static_cast<BigPtrEntryMock*>(bparr[j])->getCount() == k
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_at_front failed",
checkElementPositions(bparr)
)
-
+
dumpBigPtrArray(bparr);
}
-
- RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_remove_at_front");
+
+ RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_remove_at_front");
}
-
+
void test_remove_at_back()
{
printMethodName("test_remove_at_back\n");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
for (int i = NUM_ENTRIES - 1; i >= 0; i--)
{
ULONG oldCount = bparr.Count();
delete bparr[i];
bparr.Remove(i);
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_at_back failed (wrong count)",
(oldCount - 1 == bparr.Count())
)
-
+
for (int j = 0; j < bparr.Count(); j++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -371,42 +371,42 @@ public:
static_cast<BigPtrEntryMock*>(bparr[j])->getCount() == j
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_at_back failed",
checkElementPositions(bparr)
)
-
+
dumpBigPtrArray(bparr);
}
}
-
+
void test_remove_in_the_middle()
{
printMethodName("test_remove_in_the_middle\n");
RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_remove_in_the_middle");
-
- BigPtrArray bparr;
-
+
+ BigPtrArray bparr;
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
while (bparr.Count())
{
ULONG oldCount = bparr.Count();
int oldElement = static_cast<BigPtrEntryMock*>(bparr[bparr.Count() / 2])->getCount();
-
+
delete bparr[bparr.Count() / 2];
bparr.Remove(bparr.Count() / 2);
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_in_the_middle failed (wrong count)",
(oldCount - 1 == bparr.Count())
)
-
+
for (int i = 0; i < bparr.Count(); i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -415,89 +415,89 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() != oldElement
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_in_the_middle failed",
checkElementPositions(bparr)
)
-
+
dumpBigPtrArray(bparr);
}
RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_remove_in_the_middle");
}
-
+
void test_remove_multiple_elements_at_once()
{
printMethodName("test_remove_multiple_elements_at_once\n");
-
- BigPtrArray bparr;
-
+
+ BigPtrArray bparr;
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
while(bparr.Count())
{
ULONG nRemove = (bparr.Count() > 3) ? 3 : bparr.Count();
ULONG oldCount = bparr.Count();
-
+
for (int i = 0; i < nRemove; i++)
delete bparr[i];
-
- bparr.Remove(0, nRemove);
-
+
+ bparr.Remove(0, nRemove);
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_multiple_elements_at_once failed",
(oldCount - nRemove == bparr.Count())
)
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_multiple_elements_at_once failed",
checkElementPositions(bparr)
)
-
+
dumpBigPtrArray(bparr);
}
}
-
+
void test_remove_all_elements_at_once()
{
printMethodName("test_remove_all_elements_at_once\n");
-
- BigPtrArray bparr;
-
+
+ BigPtrArray bparr;
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
releaseBigPtrArrayContent(bparr);
bparr.Remove(0, bparr.Count());
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_remove_all_elements_at_once failed",
bparr.Count() == 0
)
-
+
dumpBigPtrArray(bparr);
}
-
+
void test_move_elements_from_lower_to_higher_pos()
{
printMethodName("test_move_elements_from_lower_to_higher_pos\n");
-
- BigPtrArray bparr;
-
+
+ BigPtrArray bparr;
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
for (int i = 0; i < NUM_ENTRIES - 1; i++)
{
bparr.Move(i, i + 2);
dumpBigPtrArray(bparr);
- }
-
+ }
+
for (int i = 0; i < (NUM_ENTRIES - 1); i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -506,43 +506,43 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i + 1)
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_move_elements_from_lower_to_higher_pos failed",
static_cast<BigPtrEntryMock*>(bparr[NUM_ENTRIES -1])->getCount() == 0
)
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_move_elements_from_lower_to_higher_pos failed",
checkElementPositions(bparr)
)
-
+
releaseBigPtrArrayContent(bparr);
}
-
+
void test_move_elements_from_higher_to_lower_pos()
{
printMethodName("test_move_elements_from_higher_to_lower_pos\n");
-
- BigPtrArray bparr;
-
+
+ BigPtrArray bparr;
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
for (int i = NUM_ENTRIES - 1; i >= 1; i--)
{
bparr.Move(i, i - 1);
dumpBigPtrArray(bparr);
- }
-
+ }
+
CPPUNIT_ASSERT_MESSAGE
(
"test_move_elements_from_higher_to_lower_pos failed",
static_cast<BigPtrEntryMock*>(bparr[0])->getCount() == (NUM_ENTRIES - 1)
)
-
+
for (int i = 1; i < NUM_ENTRIES; i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -551,32 +551,32 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i - 1)
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_move_elements_from_higher_to_lower_pos failed",
checkElementPositions(bparr)
)
-
+
releaseBigPtrArrayContent(bparr);
}
-
+
void test_move_to_same_position()
{
printMethodName("test_move_to_same_position\n");
-
- BigPtrArray bparr;
-
+
+ BigPtrArray bparr;
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
for (int i = 0; i < NUM_ENTRIES; i++)
{
- bparr.Move(i, i);
- }
-
+ bparr.Move(i, i);
+ }
+
dumpBigPtrArray(bparr);
-
+
for (int i = 0; i < NUM_ENTRIES; i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -585,33 +585,33 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == i
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_move_to_same_position failed",
checkElementPositions(bparr)
)
-
+
releaseBigPtrArrayContent(bparr);
dumpBigPtrArray(bparr);
}
-
+
void test_replace_elements()
{
printMethodName("test_replace_elements\n");
-
- BigPtrArray bparr;
-
+
+ BigPtrArray bparr;
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
for (int i = 0, j = NUM_ENTRIES - 1; i < NUM_ENTRIES; i++, j--)
{
delete bparr[i];
bparr.Replace(i, new BigPtrEntryMock(j));
dumpBigPtrArray(bparr);
}
-
+
for (int i = 0; i < NUM_ENTRIES; i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -620,28 +620,28 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (NUM_ENTRIES - i - 1)
)
}
-
+
CPPUNIT_ASSERT_MESSAGE
(
"test_replace_elements failed",
checkElementPositions(bparr)
)
-
+
releaseBigPtrArrayContent(bparr);
}
-
+
void test_for_each()
{
printMethodName("test_for_each\n");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
int addCount = 1;
- bparr.ForEach(AddToCount, &addCount);
-
+ bparr.ForEach(AddToCount, &addCount);
+
for (int i = 0; i < NUM_ENTRIES; i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -650,7 +650,7 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1)
)
}
-
+
releaseBigPtrArrayContent(bparr);
dumpBigPtrArray(bparr);
}
@@ -658,15 +658,15 @@ public:
void test_for_some1()
{
printMethodName("test_for_some1\n");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
int addCount = 1;
- bparr.ForEach(0, NUM_ENTRIES / 2, AddToCount, &addCount);
-
+ bparr.ForEach(0, NUM_ENTRIES / 2, AddToCount, &addCount);
+
int i = 0;
for (/* */; i < NUM_ENTRIES / 2; i++)
{
@@ -676,7 +676,7 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1)
)
}
-
+
for (/* */; i < NUM_ENTRIES; i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -685,23 +685,23 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i)
)
}
-
+
releaseBigPtrArrayContent(bparr);
dumpBigPtrArray(bparr);
}
-
+
void test_for_some2()
{
printMethodName("test_for_some2\n");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
int addCount = 1;
- bparr.ForEach(NUM_ENTRIES / 2, NUM_ENTRIES, AddToCount, &addCount);
-
+ bparr.ForEach(NUM_ENTRIES / 2, NUM_ENTRIES, AddToCount, &addCount);
+
int i = 0;
for (/* */; i < NUM_ENTRIES / 2; i++)
{
@@ -711,7 +711,7 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i)
)
}
-
+
for (/* */; i < NUM_ENTRIES; i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -720,23 +720,23 @@ public:
static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1)
)
}
-
+
releaseBigPtrArrayContent(bparr);
dumpBigPtrArray(bparr);
}
-
+
void test_for_some3()
{
printMethodName("test_for_some3\n");
-
+
BigPtrArray bparr;
-
+
fillBigPtrArray(bparr, NUM_ENTRIES);
dumpBigPtrArray(bparr);
-
+
int addCount = 1;
- bparr.ForEach(0, 0, AddToCount, &addCount);
-
+ bparr.ForEach(0, 0, AddToCount, &addCount);
+
for (int i = 0; i < NUM_ENTRIES; i++)
{
CPPUNIT_ASSERT_MESSAGE
@@ -747,13 +747,13 @@ public:
}
releaseBigPtrArrayContent(bparr);
}
-
+
CPPUNIT_TEST_SUITE(BigPtrArrayUnittest);
- CPPUNIT_TEST(test_ctor);
+ CPPUNIT_TEST(test_ctor);
CPPUNIT_TEST(test_insert_entries_at_front);
- CPPUNIT_TEST(test_insert_entries_in_the_middle);
+ CPPUNIT_TEST(test_insert_entries_in_the_middle);
CPPUNIT_TEST(test_insert_at_already_used_index);
- CPPUNIT_TEST(test_insert_at_end);
+ CPPUNIT_TEST(test_insert_at_end);
CPPUNIT_TEST(test_remove_at_front);
CPPUNIT_TEST(test_remove_at_back);
CPPUNIT_TEST(test_remove_in_the_middle);
@@ -761,7 +761,7 @@ public:
CPPUNIT_TEST(test_remove_all_elements_at_once);
CPPUNIT_TEST(test_move_elements_from_lower_to_higher_pos);
CPPUNIT_TEST(test_move_elements_from_higher_to_lower_pos);
- CPPUNIT_TEST(test_replace_elements);
+ CPPUNIT_TEST(test_replace_elements);
CPPUNIT_TEST(test_for_each);
CPPUNIT_TEST(test_for_some1);
CPPUNIT_TEST(test_for_some2);
@@ -771,26 +771,26 @@ public:
const char* START = "START: ";
const char* END = "END: ";
-
+
class PerformanceTracer
{
-public:
-
+public:
+
public:
PerformanceTracer(const string& methodName) :
startString_(START),
endString_(END)
- {
+ {
startString_ += methodName;
endString_ += methodName;
- RTL_LOGFILE_CONTEXT_TRACE(logFile, startString_.c_str());
+ RTL_LOGFILE_CONTEXT_TRACE(logFile, startString_.c_str());
}
-
+
~PerformanceTracer()
- {
- RTL_LOGFILE_CONTEXT_TRACE(logFile, endString_.c_str());
+ {
+ RTL_LOGFILE_CONTEXT_TRACE(logFile, endString_.c_str());
}
-
+
private:
string startString_;
string endString_;
@@ -802,31 +802,31 @@ public:
BigPtrArrayPerformanceTest()
{
}
-
+
void test_insert_at_end_1000()
- { test_insert_at_end("1000"); }
-
+ { test_insert_at_end("1000"); }
+
void test_insert_at_end_10000()
{ test_insert_at_end("10000"); }
-
+
void test_insert_at_end_100000()
{ test_insert_at_end("100000"); }
-
+
void test_insert_at_end_1000000()
{ test_insert_at_end("1000000"); }
-
+
void test_insert_at_front_1000()
- { test_insert_at_front("1000"); }
-
+ { test_insert_at_front("1000"); }
+
void test_insert_at_front_10000()
{ test_insert_at_front("10000"); }
-
+
void test_insert_at_front_100000()
{ test_insert_at_front("100000"); }
-
+
void test_insert_at_front_1000000()
{ test_insert_at_front("1000000"); }
-
+
CPPUNIT_TEST_SUITE(BigPtrArrayPerformanceTest);
CPPUNIT_TEST(test_insert_at_end_1000);
CPPUNIT_TEST(test_insert_at_end_10000);
@@ -837,7 +837,7 @@ public:
CPPUNIT_TEST(test_insert_at_front_100000);
CPPUNIT_TEST(test_insert_at_front_1000000);
CPPUNIT_TEST_SUITE_END();
-
+
private:
void test_insert_at_end(const char* numElements)
{
@@ -849,10 +849,10 @@ private:
BigPtrArray bparr;
for (int i = 0; i < n; i++)
bparr.Insert(new BigPtrEntryMock(i), bparr.Count());
-
+
releaseBigPtrArrayContent(bparr);
}
-
+
void test_insert_at_front(const char* numElements)
{
char buff[100] = { 0 };
@@ -863,7 +863,7 @@ private:
BigPtrArray bparr;
for (int i = 0; i < n; i++)
bparr.Insert(new BigPtrEntryMock(i), 0);
-
+
releaseBigPtrArrayContent(bparr);
}
};