sal/qa/systools/makefile.mk | 26 - sal/qa/systools/test_comtools.cxx | 218 +++----- sw/GoogleTest_sw_bigpointerarray.mk | 51 ++ sw/Module_sw.mk | 7 sw/qa/core/Test-BigPtrArray.cxx | 879 ++++++++++++++---------------------- 5 files changed, 518 insertions(+), 663 deletions(-)
New commits: commit d15678689835c9f66798c21b5b8cc3b75826897e Author: Damjan Jovanovic <dam...@apache.org> Date: Sun Sep 20 09:07:54 2015 +0000 #i125003# migrate main/sal/qa/systools from cppunit to Google Test. diff --git a/sal/qa/systools/makefile.mk b/sal/qa/systools/makefile.mk index 1ea5229..481a7b4 100644 --- a/sal/qa/systools/makefile.mk +++ b/sal/qa/systools/makefile.mk @@ -33,6 +33,12 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk +.IF "$(ENABLE_UNIT_TESTS)" != "YES" +all: + @echo unit tests are disabled. Nothing to do. + +.ELSE + CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) @@ -40,27 +46,19 @@ CFLAGS+=/Ob0 # BEGIN ---------------------------------------------------------------- # auto generated Target:joblist by codegen.pl -SHL1OBJS= \ +APP1OBJS= \ $(SLO)$/test_comtools.obj -SHL1TARGET= test_comtools -SHL1STDLIBS= $(SALLIB) $(CPPUNITLIB) $(TESTSHL2LIB) uuid.lib - -SHL1IMPLIB= i$(SHL1TARGET) -# SHL1DEF= $(MISC)$/$(SHL1TARGET).def - -DEF1NAME =$(SHL1TARGET) -# DEF1EXPORTFILE= export.exp -SHL1VERSIONMAP= $(PRJ)$/qa$/export.map +APP1TARGET= test_comtools +APP1STDLIBS= $(SALLIB) $(GTESTLIB) $(TESTSHL2LIB) uuid.lib +APP1RPATH = NONE +APP1TEST = enabled # auto generated Target:joblist # END ------------------------------------------------------------------ -#------------------------------- All object files ------------------------------- -# do this here, so we get right dependencies -# SLOFILES=$(SHL1OBJS) # --- Targets ------------------------------------------------------ .INCLUDE : target.mk -.INCLUDE : _cppunit.mk +.ENDIF # "$(ENABLE_UNIT_TESTS)" != "YES" diff --git a/sal/qa/systools/test_comtools.cxx b/sal/qa/systools/test_comtools.cxx index 1a5de4a..cb5493f 100644 --- a/sal/qa/systools/test_comtools.cxx +++ b/sal/qa/systools/test_comtools.cxx @@ -26,7 +26,7 @@ #include "precompiled_sal.hxx" // autogenerated file with codegen.pl -#include <testshl/simpleheader.hxx> +#include "gtest/gtest.h" #include <systools/win32/comtools.hxx> class COMObject : public IUnknown @@ -99,148 +99,124 @@ void comObjectSource2(LPVOID* ppv) namespace test_comtools { - class test_COMReference : public CppUnit::TestFixture + class test_COMReference : public ::testing::Test { + }; - public: - /// test of COMReference<IUnknown> r; - void default_ctor() - { - sal::systools::COMReference<IUnknown> r; - CPPUNIT_ASSERT_MESSAGE("COMReference should be empty", r.get() == NULL); - } + /// test of COMReference<IUnknown> r; + TEST_F(test_COMReference, default_ctor) + { + sal::systools::COMReference<IUnknown> r; + ASSERT_TRUE(r.get() == NULL) << "COMReference should be empty"; + } - void test_ctor_manual_AddRef() - { - COMObject* p = new COMObject; - p->AddRef(); - sal::systools::COMReference<IUnknown> r(p, false); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); - } + TEST_F(test_COMReference, test_ctor_manual_AddRef) + { + COMObject* p = new COMObject; + p->AddRef(); + sal::systools::COMReference<IUnknown> r(p, false); + ASSERT_TRUE(reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + } - void test_copy_ctor() - { - sal::systools::COMReference<IUnknown> r(comObjectSource()); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); - } + TEST_F(test_COMReference, test_copy_ctor) + { + sal::systools::COMReference<IUnknown> r(comObjectSource()); + ASSERT_TRUE(reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + } - void test_copy_assignment() - { - sal::systools::COMReference<IUnknown> r; - CPPUNIT_ASSERT_MESSAGE("COMReference should be empty", r.get() == NULL); + TEST_F(test_COMReference, test_copy_assignment) + { + sal::systools::COMReference<IUnknown> r; + ASSERT_TRUE(r.get() == NULL) << "COMReference should be empty"; - r = comObjectSource(); - CPPUNIT_ASSERT_MESSAGE("COMReference should be empty", r.get() != NULL); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); - } + r = comObjectSource(); + ASSERT_TRUE(r.get() != NULL) << "COMReference should be empty"; + ASSERT_TRUE(reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + } - void test_ref_to_ref_assignment() - { - sal::systools::COMReference<IUnknown> r1 = comObjectSource(); - sal::systools::COMReference<IUnknown> r2 = r1; - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 2 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2); - } + TEST_F(test_COMReference, test_ref_to_ref_assignment) + { + sal::systools::COMReference<IUnknown> r1 = comObjectSource(); + sal::systools::COMReference<IUnknown> r2 = r1; + ASSERT_TRUE(reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2) << "Wrong reference count 2 is expected"; + } - void test_pointer_to_ref_assignment() - { - sal::systools::COMReference<IUnknown> r; - r = new COMObject; - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); - } + TEST_F(test_COMReference, test_pointer_to_ref_assignment) + { + sal::systools::COMReference<IUnknown> r; + r = new COMObject; + ASSERT_TRUE(reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + } - void test_pointer_to_ref_assignment2() - { - sal::systools::COMReference<IUnknown> r = comObjectSource(); - r = new COMObject; - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); - } + TEST_F(test_COMReference, test_pointer_to_ref_assignment2) + { + sal::systools::COMReference<IUnknown> r = comObjectSource(); + r = new COMObject; + ASSERT_TRUE(reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + } - void test_source_sink() - { - CPPUNIT_ASSERT_MESSAGE("Wrong reference count, 0 is expected", comObjectSink(comObjectSource(), 0)); - } + TEST_F(test_COMReference, test_source_sink) + { + ASSERT_TRUE(comObjectSink(comObjectSource(), 0)) << "Wrong reference count, 0 is expected"; + } - void test_address_operator() - { - sal::systools::COMReference<IUnknown> r; - comObjectSource2(reinterpret_cast<LPVOID*>(&r)); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count, 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); - } + TEST_F(test_COMReference, test_address_operator) + { + sal::systools::COMReference<IUnknown> r; + comObjectSource2(reinterpret_cast<LPVOID*>(&r)); + ASSERT_TRUE(reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1) << "Wrong reference count, 1 is expected"; + } + + TEST_F(test_COMReference, test_address_operator2) + { + sal::systools::COMReference<IUnknown> r1 = comObjectSource(); + sal::systools::COMReference<IUnknown> r2 = r1; + ASSERT_TRUE(reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2) << "Wrong reference count 2 is expected"; + comObjectSource2(reinterpret_cast<LPVOID*>(&r1)); + ASSERT_TRUE(reinterpret_cast<COMObject*>(r1.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + ASSERT_TRUE(reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + } + + TEST_F(test_COMReference, test_clear) + { + sal::systools::COMReference<IUnknown> r = comObjectSource(); + ASSERT_TRUE(reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1) << "Wrong reference count 1 is expected"; + r.clear(); + ASSERT_TRUE(!r.is()) << "Expect reference to be empty"; + } - void test_address_operator2() + TEST_F(test_COMReference, test_query_interface) + { + try { sal::systools::COMReference<IUnknown> r1 = comObjectSource(); - sal::systools::COMReference<IUnknown> r2 = r1; - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 2 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2); - comObjectSource2(reinterpret_cast<LPVOID*>(&r1)); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r1.get())->GetRefCount() == 1); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 1); + sal::systools::COMReference<IUnknown> r2 = r1.QueryInterface<IUnknown>(IID_IUnknown); + ASSERT_TRUE(reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2) << "Wrong reference count, 2 is expected"; } - - void test_clear() + catch(sal::systools::ComError& ex) { - sal::systools::COMReference<IUnknown> r = comObjectSource(); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); - r.clear(); - CPPUNIT_ASSERT_MESSAGE("Expect reference to be empty", !r.is()); + ASSERT_TRUE(false) << "Exception should not have been thrown"; } + } - void test_query_interface() + TEST_F(test_COMReference, test_query_interface_throw) + { + try { - try - { - sal::systools::COMReference<IUnknown> r1 = comObjectSource(); - sal::systools::COMReference<IUnknown> r2 = r1.QueryInterface<IUnknown>(IID_IUnknown); - CPPUNIT_ASSERT_MESSAGE("Wrong reference count, 2 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2); - } - catch(sal::systools::ComError& ex) - { - CPPUNIT_ASSERT_MESSAGE("Exception should not have been thrown", false); - } + sal::systools::COMReference<IUnknown> r1 = comObjectSource(); + sal::systools::COMReference<IPersistFile> r2 = r1.QueryInterface<IPersistFile>(IID_IPersistFile); } - - void test_query_interface_throw() + catch(sal::systools::ComError& ex) { - try - { - sal::systools::COMReference<IUnknown> r1 = comObjectSource(); - sal::systools::COMReference<IPersistFile> r2 = r1.QueryInterface<IPersistFile>(IID_IPersistFile); - } - catch(sal::systools::ComError& ex) - { - return; - } - CPPUNIT_ASSERT_MESSAGE("Exception should have been thrown", false); + return; } - - // Change the following lines only, if you add, remove or rename - // member functions of the current class, - // because these macros are need by auto register mechanism. - - CPPUNIT_TEST_SUITE(test_COMReference); - CPPUNIT_TEST(default_ctor); - CPPUNIT_TEST(test_ctor_manual_AddRef); - CPPUNIT_TEST(test_copy_ctor); - CPPUNIT_TEST(test_copy_assignment); - CPPUNIT_TEST(test_ref_to_ref_assignment); - CPPUNIT_TEST(test_pointer_to_ref_assignment); - CPPUNIT_TEST(test_pointer_to_ref_assignment2); - CPPUNIT_TEST(test_source_sink); - CPPUNIT_TEST(test_address_operator); - CPPUNIT_TEST(test_address_operator2); - CPPUNIT_TEST(test_clear); - CPPUNIT_TEST(test_query_interface); - CPPUNIT_TEST(test_query_interface_throw); - CPPUNIT_TEST_SUITE_END(); - }; - -// ----------------------------------------------------------------------------- -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(test_comtools::test_COMReference, "test_comtools"); + ASSERT_TRUE(false) << "Exception should have been thrown"; + } } // namespace rtl_OUString - -// this macro creates an empty function, which will called by the RegisterAllFunctions() -// to let the user the possibility to also register some functions by hand. -NOADDITIONAL; - +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} commit 685b7e2d2f7f48c903e2711f693c115a333d25ba Author: Damjan Jovanovic <dam...@apache.org> Date: Sun Sep 20 07:37:03 2015 +0000 #i125003# migrate main/sw from cppunit to Google Test. diff --git a/sw/GoogleTest_sw_bigpointerarray.mk b/sw/GoogleTest_sw_bigpointerarray.mk new file mode 100644 index 0000000..fbff0ee --- /dev/null +++ b/sw/GoogleTest_sw_bigpointerarray.mk @@ -0,0 +1,51 @@ +#************************************************************** +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +#************************************************************** + + +$(eval $(call gb_GoogleTest_GoogleTest,sw_bigpointerarray)) + +$(eval $(call gb_GoogleTest_add_exception_objects,sw_bigpointerarray, \ + sw/qa/core/Test-BigPtrArray \ +)) + +$(eval $(call gb_GoogleTest_add_linked_libs,sw_bigpointerarray, \ + sal \ + sfx \ + stl \ + sw \ + tl \ + $(gb_STDLIBS) \ +)) + +$(eval $(call gb_GoogleTest_set_include,sw_bigpointerarray,\ + $$(INCLUDE) \ + -I$(SRCDIR)/sw/inc \ + -I$(SRCDIR)/sw/inc/pch \ + -I$(SRCDIR)/sw/qa/core \ + -I$(OUTDIR)/inc/offuh \ + -I$(OUTDIR)/inc \ +)) + +$(eval $(call gb_GoogleTest_set_ldflags,sw_bigpointerarray,\ + $$(LDFLAGS) \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/sw/Module_sw.mk b/sw/Module_sw.mk index d286994..a149c2c 100644 --- a/sw/Module_sw.mk +++ b/sw/Module_sw.mk @@ -36,6 +36,13 @@ $(eval $(call gb_Module_add_targets,sw,\ )) +ifeq ($(ENABLE_UNIT_TESTS),YES) +$(eval $(call gb_Module_add_check_targets,sw,\ + GoogleTest_sw_bigpointerarray \ +)) +endif + + ifneq ($(OOO_JUNIT_JAR),) $(eval $(call gb_Module_add_subsequentcheck_targets,sw,\ JunitTest_sw_complex \ diff --git a/sw/qa/core/Test-BigPtrArray.cxx b/sw/qa/core/Test-BigPtrArray.cxx index 4bf2bc8..bfe9e28 100644 --- a/sw/qa/core/Test-BigPtrArray.cxx +++ b/sw/qa/core/Test-BigPtrArray.cxx @@ -25,7 +25,7 @@ #include "precompiled_sw.hxx" #define TIMELOG -#include <testshl/simpleheader.hxx> +#include "gtest/gtest.h" #include <bparr.hxx> #include <string> #include <stdlib.h> @@ -33,12 +33,15 @@ #undef ENABLE_DEBUG_OUTPUT +// FIXME: +#define RUN_OLD_FAILING_TESTS 0 + using namespace std; namespace /* private */ { - const int NUM_ENTRIES = 100000; + const int NUM_ENTRIES = 1000; class BigPtrEntryMock : public BigPtrEntry { @@ -122,647 +125,478 @@ namespace /* private */ RTL_LOGFILE_CONTEXT(logFile, "BigPtrArray performance measures" ); } -class BigPtrArrayUnittest : public CppUnit::TestFixture +class BigPtrArrayUnittest : public ::testing::Test { public: BigPtrArrayUnittest() { } +}; - /** Test constructor/destructor - The size of the BigPtrArray - aka the 'Count' should be 0 - initially. - */ - void test_ctor() - { - printMethodName("test_ctor\n"); - - BigPtrArray bparr; +/** Test constructor/destructor + The size of the BigPtrArray + aka the 'Count' should be 0 + initially. +*/ +TEST_F(BigPtrArrayUnittest, test_ctor) +{ + printMethodName("test_ctor\n"); - CPPUNIT_ASSERT_MESSAGE - ( - "BigPtrArray ctor failed", - bparr.Count() == 0 - ); - } + BigPtrArray bparr; - void test_insert_entries_at_front() - { - printMethodName("test_insert_entries_at_front\n"); - - RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_entries_at_front"); + ASSERT_TRUE(bparr.Count() == 0) << "BigPtrArray ctor failed";; +} - BigPtrArray bparr; +TEST_F(BigPtrArrayUnittest, test_insert_entries_at_front) +{ + printMethodName("test_insert_entries_at_front\n"); - for (int i = 0; i < NUM_ENTRIES; i++) - { - sal_uLong oldCount = bparr.Count(); - bparr.Insert(new BigPtrEntryMock(i), 0); - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_entries_at_front failed", - (bparr.Count() == oldCount + 1) - ) - } + RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_entries_at_front"); - RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_entries_at_front"); + BigPtrArray bparr; - for (int i = 0, j = NUM_ENTRIES - 1; i < NUM_ENTRIES; i++, j--) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_entries_at_front failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == j - ) - } + for (int i = 0; i < NUM_ENTRIES; i++) + { + sal_uLong oldCount = bparr.Count(); + bparr.Insert(new BigPtrEntryMock(i), 0); + ASSERT_TRUE((bparr.Count() == oldCount + 1)) << "test_insert_entries_at_front failed"; + } - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_entries_at_front failed", - checkElementPositions(bparr) - ) + RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_entries_at_front"); - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); + for (int i = 0, j = NUM_ENTRIES - 1; i < NUM_ENTRIES; i++, j--) + { + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == j) << "test_insert_entries_at_front failed"; } - void test_insert_entries_in_the_middle() - { - printMethodName("test_insert_entries_in_the_middle\n"); + ASSERT_TRUE(checkElementPositions(bparr)) << "test_insert_entries_at_front failed"; - RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_entries_in_the_middle"); + releaseBigPtrArrayContent(bparr); + dumpBigPtrArray(bparr); +} - BigPtrArray bparr; +TEST_F(BigPtrArrayUnittest, test_insert_entries_in_the_middle) +{ + printMethodName("test_insert_entries_in_the_middle\n"); - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_entries_in_the_middle"); - sal_uLong oldCount = bparr.Count(); + BigPtrArray bparr; - bparr.Insert(new BigPtrEntryMock(NUM_ENTRIES), bparr.Count() / 2); + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_entries_in_the_middle"); + sal_uLong oldCount = bparr.Count(); - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_entries_in_the_middle failed", - (oldCount + 1 == bparr.Count() && static_cast<BigPtrEntryMock*>(bparr[bparr.Count() / 2])->getCount() == NUM_ENTRIES) - ) + bparr.Insert(new BigPtrEntryMock(NUM_ENTRIES), bparr.Count() / 2); - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_entries_in_the_middle failed", - checkElementPositions(bparr) - ) + RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_entries_in_the_middle"); - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); - } + ASSERT_TRUE((oldCount + 1 == bparr.Count() && static_cast<BigPtrEntryMock*>(bparr[bparr.Count() / 2])->getCount() == NUM_ENTRIES)) << "test_insert_entries_in_the_middle failed"; - void test_insert_at_already_used_index() - { - printMethodName("test_insert_at_already_used_index\n"); + ASSERT_TRUE(checkElementPositions(bparr)) << "test_insert_entries_in_the_middle failed"; - RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_at_already_used_index"); + releaseBigPtrArrayContent(bparr); + dumpBigPtrArray(bparr); +} - BigPtrArray bparr; +TEST_F(BigPtrArrayUnittest, test_insert_at_already_used_index) +{ + printMethodName("test_insert_at_already_used_index\n"); - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_insert_at_already_used_index"); - int oldCount = bparr.Count(); + BigPtrArray bparr; - for (int i = 0, j = -5; i < 5; i++, j++) - bparr.Insert(new BigPtrEntryMock(j), i); + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_at_already_used_index"); + int oldCount = bparr.Count(); - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_at_already_used_index failed", - (oldCount + 5 == bparr.Count()) - ) + for (int i = 0, j = -5; i < 5; i++, j++) + bparr.Insert(new BigPtrEntryMock(j), i); - for (int i = 0, j = -5; i < bparr.Count(); i++, j++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_at_already_used_index failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == j - ) - } + RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_insert_at_already_used_index"); - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_at_already_used_index failed", - checkElementPositions(bparr) - ) + ASSERT_TRUE((oldCount + 5 == bparr.Count())) << "test_insert_at_already_used_index failed"; - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); + for (int i = 0, j = -5; i < bparr.Count(); i++, j++) + { + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == j) << "test_insert_at_already_used_index failed"; } - void test_insert_at_end() - { - printMethodName("test_insert_at_end\n"); + ASSERT_TRUE(checkElementPositions(bparr)) << "test_insert_at_already_used_index failed"; - BigPtrArray bparr; + releaseBigPtrArrayContent(bparr); + dumpBigPtrArray(bparr); +} - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); +TEST_F(BigPtrArrayUnittest, test_insert_at_end) +{ + printMethodName("test_insert_at_end\n"); - sal_uLong oldCount = bparr.Count(); - bparr.Insert(new BigPtrEntryMock(NUM_ENTRIES), bparr.Count()); + BigPtrArray bparr; - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_at_end failed", - (oldCount + 1 == bparr.Count() && static_cast<BigPtrEntryMock*>(bparr[bparr.Count()-1])->getCount() == NUM_ENTRIES) - ) + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - CPPUNIT_ASSERT_MESSAGE - ( - "test_insert_at_end failed", - checkElementPositions(bparr) - ) + sal_uLong oldCount = bparr.Count(); + bparr.Insert(new BigPtrEntryMock(NUM_ENTRIES), bparr.Count()); - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); - } + ASSERT_TRUE((oldCount + 1 == bparr.Count() && static_cast<BigPtrEntryMock*>(bparr[bparr.Count()-1])->getCount() == NUM_ENTRIES)) << "test_insert_at_end failed"; - void test_remove_at_front() - { - printMethodName("test_remove_at_front\n"); + ASSERT_TRUE(checkElementPositions(bparr)) << "test_insert_at_end failed"; - RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_remove_at_front"); + releaseBigPtrArrayContent(bparr); + dumpBigPtrArray(bparr); +} - BigPtrArray bparr; +TEST_F(BigPtrArrayUnittest, test_remove_at_front) +{ + printMethodName("test_remove_at_front\n"); - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_remove_at_front"); - for (int i = 0; i < NUM_ENTRIES; i++) - { - sal_uLong oldCount = bparr.Count(); - - 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 - ( - "test_remove_at_front failed", - static_cast<BigPtrEntryMock*>(bparr[j])->getCount() == k - ) - } - - CPPUNIT_ASSERT_MESSAGE - ( - "test_remove_at_front failed", - checkElementPositions(bparr) - ) - - dumpBigPtrArray(bparr); - } + BigPtrArray bparr; - RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_remove_at_front"); - } + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - void test_remove_at_back() + for (int i = 0; i < NUM_ENTRIES; i++) { - printMethodName("test_remove_at_back\n"); + sal_uLong oldCount = bparr.Count(); - BigPtrArray bparr; + delete bparr[0]; // release content + bparr.Remove(0); // remove item from container - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + ASSERT_TRUE((oldCount - 1 == bparr.Count())) << "test_remove_at_front failed (wrong count)"; - for (int i = NUM_ENTRIES - 1; i >= 0; i--) + for (int j = 0, k = i + 1; j < bparr.Count(); j++, k++) { - sal_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 - ( - "test_remove_at_back failed", - static_cast<BigPtrEntryMock*>(bparr[j])->getCount() == j - ) - } - - CPPUNIT_ASSERT_MESSAGE - ( - "test_remove_at_back failed", - checkElementPositions(bparr) - ) - - dumpBigPtrArray(bparr); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[j])->getCount() == k) << "test_remove_at_front failed"; } + + ASSERT_TRUE(checkElementPositions(bparr)) << "test_remove_at_front failed"; + + dumpBigPtrArray(bparr); } - void test_remove_in_the_middle() - { - printMethodName("test_remove_in_the_middle\n"); + RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_remove_at_front"); +} - RTL_LOGFILE_CONTEXT_TRACE(logFile, "START: test_remove_in_the_middle"); +TEST_F(BigPtrArrayUnittest, test_remove_at_back) +{ + printMethodName("test_remove_at_back\n"); - BigPtrArray bparr; + BigPtrArray bparr; - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - while (bparr.Count()) + for (int i = NUM_ENTRIES - 1; i >= 0; i--) + { + sal_uLong oldCount = bparr.Count(); + delete bparr[i]; + bparr.Remove(i); + + ASSERT_TRUE((oldCount - 1 == bparr.Count())) << "test_remove_at_back failed (wrong count)"; + + for (int j = 0; j < bparr.Count(); j++) { - sal_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 - ( - "test_remove_in_the_middle failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() != oldElement - ) - } - - CPPUNIT_ASSERT_MESSAGE - ( - "test_remove_in_the_middle failed", - checkElementPositions(bparr) - ) - - dumpBigPtrArray(bparr); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[j])->getCount() == j) << "test_remove_at_back failed"; } - RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_remove_in_the_middle"); + + ASSERT_TRUE(checkElementPositions(bparr)) << "test_remove_at_back failed"; + + dumpBigPtrArray(bparr); } +} - void test_remove_multiple_elements_at_once() +TEST_F(BigPtrArrayUnittest, 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; + + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); + + while (bparr.Count()) { - printMethodName("test_remove_multiple_elements_at_once\n"); + sal_uLong oldCount = bparr.Count(); + int oldElement = static_cast<BigPtrEntryMock*>(bparr[bparr.Count() / 2])->getCount(); - BigPtrArray bparr; + delete bparr[bparr.Count() / 2]; + bparr.Remove(bparr.Count() / 2); - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + ASSERT_TRUE((oldCount - 1 == bparr.Count())) << "test_remove_in_the_middle failed (wrong count)"; - while(bparr.Count()) + for (int i = 0; i < bparr.Count(); i++) { - sal_uLong nRemove = (bparr.Count() > 3) ? 3 : bparr.Count(); - sal_uLong oldCount = bparr.Count(); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() != oldElement) << "test_remove_in_the_middle failed"; + } - for (int i = 0; i < nRemove; i++) - delete bparr[i]; + ASSERT_TRUE(checkElementPositions(bparr)) << "test_remove_in_the_middle failed"; - bparr.Remove(0, nRemove); + dumpBigPtrArray(bparr); + } + RTL_LOGFILE_CONTEXT_TRACE(logFile, "END: test_remove_in_the_middle"); +} - CPPUNIT_ASSERT_MESSAGE - ( - "test_remove_multiple_elements_at_once failed", - (oldCount - nRemove == bparr.Count()) - ) +TEST_F(BigPtrArrayUnittest, test_remove_multiple_elements_at_once) +{ + printMethodName("test_remove_multiple_elements_at_once\n"); - CPPUNIT_ASSERT_MESSAGE - ( - "test_remove_multiple_elements_at_once failed", - checkElementPositions(bparr) - ) + BigPtrArray bparr; - dumpBigPtrArray(bparr); - } - } + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - void test_remove_all_elements_at_once() + while(bparr.Count()) { - printMethodName("test_remove_all_elements_at_once\n"); + sal_uLong nRemove = (bparr.Count() > 3) ? 3 : bparr.Count(); + sal_uLong oldCount = bparr.Count(); - BigPtrArray bparr; + for (int i = 0; i < nRemove; i++) + delete bparr[i]; - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + bparr.Remove(0, nRemove); - releaseBigPtrArrayContent(bparr); - bparr.Remove(0, bparr.Count()); + ASSERT_TRUE((oldCount - nRemove == bparr.Count())) << "test_remove_multiple_elements_at_once failed"; - CPPUNIT_ASSERT_MESSAGE - ( - "test_remove_all_elements_at_once failed", - bparr.Count() == 0 - ) + ASSERT_TRUE(checkElementPositions(bparr)) << "test_remove_multiple_elements_at_once failed"; dumpBigPtrArray(bparr); } +} - void test_move_elements_from_lower_to_higher_pos() - { - printMethodName("test_move_elements_from_lower_to_higher_pos\n"); +TEST_F(BigPtrArrayUnittest, test_remove_all_elements_at_once) +{ + printMethodName("test_remove_all_elements_at_once\n"); - BigPtrArray bparr; + BigPtrArray bparr; - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - for (int i = 0; i < NUM_ENTRIES - 1; i++) - { - bparr.Move(i, i + 2); - dumpBigPtrArray(bparr); - } + releaseBigPtrArrayContent(bparr); + bparr.Remove(0, bparr.Count()); - for (int i = 0; i < (NUM_ENTRIES - 1); i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_elements_from_lower_to_higher_pos failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i + 1) - ) - } + ASSERT_TRUE(bparr.Count() == 0) << "test_remove_all_elements_at_once failed"; - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_elements_from_lower_to_higher_pos failed", - static_cast<BigPtrEntryMock*>(bparr[NUM_ENTRIES -1])->getCount() == 0 - ) + dumpBigPtrArray(bparr); +} - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_elements_from_lower_to_higher_pos failed", - checkElementPositions(bparr) - ) +TEST_F(BigPtrArrayUnittest, test_move_elements_from_lower_to_higher_pos) +{ + printMethodName("test_move_elements_from_lower_to_higher_pos\n"); - releaseBigPtrArrayContent(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); } - void test_move_elements_from_higher_to_lower_pos() + for (int i = 0; i < (NUM_ENTRIES - 1); i++) { - printMethodName("test_move_elements_from_higher_to_lower_pos\n"); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i + 1)) << "test_move_elements_from_lower_to_higher_pos failed"; + } - BigPtrArray bparr; + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[NUM_ENTRIES -1])->getCount() == 0) << "test_move_elements_from_lower_to_higher_pos failed"; - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + ASSERT_TRUE(checkElementPositions(bparr)) << "test_move_elements_from_lower_to_higher_pos failed"; - for (int i = NUM_ENTRIES - 1; i >= 1; i--) - { - bparr.Move(i, i - 1); - dumpBigPtrArray(bparr); - } + releaseBigPtrArrayContent(bparr); +} - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_elements_from_higher_to_lower_pos failed", - static_cast<BigPtrEntryMock*>(bparr[0])->getCount() == (NUM_ENTRIES - 1) - ) +TEST_F(BigPtrArrayUnittest, test_move_elements_from_higher_to_lower_pos) +{ + printMethodName("test_move_elements_from_higher_to_lower_pos\n"); - for (int i = 1; i < NUM_ENTRIES; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_elements_from_higher_to_lower_pos failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i - 1) - ) - } + BigPtrArray bparr; - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_elements_from_higher_to_lower_pos failed", - checkElementPositions(bparr) - ) + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - releaseBigPtrArrayContent(bparr); + for (int i = NUM_ENTRIES - 1; i >= 1; i--) + { + bparr.Move(i, i - 1); + dumpBigPtrArray(bparr); } - void test_move_to_same_position() - { - printMethodName("test_move_to_same_position\n"); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[0])->getCount() == (NUM_ENTRIES - 1)) << "test_move_elements_from_higher_to_lower_pos failed"; - BigPtrArray bparr; + for (int i = 1; i < NUM_ENTRIES; i++) + { + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i - 1)) << "test_move_elements_from_higher_to_lower_pos failed"; + } - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + ASSERT_TRUE(checkElementPositions(bparr)) << "test_move_elements_from_higher_to_lower_pos failed"; - for (int i = 0; i < NUM_ENTRIES; i++) - { - bparr.Move(i, i); - } + releaseBigPtrArrayContent(bparr); +} - dumpBigPtrArray(bparr); +TEST_F(BigPtrArrayUnittest, test_move_to_same_position) +{ + printMethodName("test_move_to_same_position\n"); - for (int i = 0; i < NUM_ENTRIES; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_to_same_position failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == i - ) - } + BigPtrArray bparr; - CPPUNIT_ASSERT_MESSAGE - ( - "test_move_to_same_position failed", - checkElementPositions(bparr) - ) + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); + for (int i = 0; i < NUM_ENTRIES; i++) + { + bparr.Move(i, i); } - void test_replace_elements() +#if RUN_OLD_FAILING_TESTS + ASSERT_TRUE(checkElementPositions(bparr)) << "test_move_to_same_position failed"; +#endif + + dumpBigPtrArray(bparr); + + for (int i = 0; i < NUM_ENTRIES; i++) { - printMethodName("test_replace_elements\n"); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == i) << "test_move_to_same_position failed"; + } - BigPtrArray bparr; +#if RUN_OLD_FAILING_TESTS + ASSERT_TRUE(checkElementPositions(bparr)) << "test_move_to_same_position failed"; +#endif - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + releaseBigPtrArrayContent(bparr); + 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); - } +TEST_F(BigPtrArrayUnittest, test_replace_elements) +{ + printMethodName("test_replace_elements\n"); - for (int i = 0; i < NUM_ENTRIES; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_replace_elements failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (NUM_ENTRIES - i - 1) - ) - } + BigPtrArray bparr; - CPPUNIT_ASSERT_MESSAGE - ( - "test_replace_elements failed", - checkElementPositions(bparr) - ) + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - releaseBigPtrArrayContent(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); } - void test_for_each() + for (int i = 0; i < NUM_ENTRIES; i++) { - printMethodName("test_for_each\n"); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (NUM_ENTRIES - i - 1)) << "test_replace_elements failed"; + } - BigPtrArray bparr; + ASSERT_TRUE(checkElementPositions(bparr)) << "test_replace_elements failed"; - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); + releaseBigPtrArrayContent(bparr); +} - int addCount = 1; - bparr.ForEach(AddToCount, &addCount); +TEST_F(BigPtrArrayUnittest, test_for_each) +{ + printMethodName("test_for_each\n"); - for (int i = 0; i < NUM_ENTRIES; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_for_each failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1) - ) - } + BigPtrArray bparr; - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); - } + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - void test_for_some1() + int addCount = 1; + bparr.ForEach(AddToCount, &addCount); + + for (int i = 0; i < NUM_ENTRIES; i++) { - printMethodName("test_for_some1\n"); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1)) << "test_for_each failed"; + } - BigPtrArray bparr; + releaseBigPtrArrayContent(bparr); + dumpBigPtrArray(bparr); +} - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); +TEST_F(BigPtrArrayUnittest, test_for_some1) +{ + printMethodName("test_for_some1\n"); - int addCount = 1; - bparr.ForEach(0, NUM_ENTRIES / 2, AddToCount, &addCount); + BigPtrArray bparr; - int i = 0; - for (/* */; i < NUM_ENTRIES / 2; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_for_some1 failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1) - ) - } + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - for (/* */; i < NUM_ENTRIES; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_for_some1 failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i) - ) - } + int addCount = 1; + bparr.ForEach(0, NUM_ENTRIES / 2, AddToCount, &addCount); - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); + int i = 0; + for (/* */; i < NUM_ENTRIES / 2; i++) + { + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1)) << "test_for_some1 failed"; } - void test_for_some2() + for (/* */; i < NUM_ENTRIES; i++) { - printMethodName("test_for_some2\n"); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i)) << "test_for_some1 failed"; + } - BigPtrArray bparr; + releaseBigPtrArrayContent(bparr); + dumpBigPtrArray(bparr); +} - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); +TEST_F(BigPtrArrayUnittest, test_for_some2) +{ + printMethodName("test_for_some2\n"); - int addCount = 1; - bparr.ForEach(NUM_ENTRIES / 2, NUM_ENTRIES, AddToCount, &addCount); + BigPtrArray bparr; - int i = 0; - for (/* */; i < NUM_ENTRIES / 2; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_for_some2 failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i) - ) - } + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); - for (/* */; i < NUM_ENTRIES; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_for_some2 failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1) - ) - } + int addCount = 1; + bparr.ForEach(NUM_ENTRIES / 2, NUM_ENTRIES, AddToCount, &addCount); - releaseBigPtrArrayContent(bparr); - dumpBigPtrArray(bparr); + int i = 0; + for (/* */; i < NUM_ENTRIES / 2; i++) + { + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i)) << "test_for_some2 failed"; } - void test_for_some3() + for (/* */; i < NUM_ENTRIES; i++) { - printMethodName("test_for_some3\n"); + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == (i+1)) << "test_for_some2 failed"; + } - BigPtrArray bparr; + releaseBigPtrArrayContent(bparr); + dumpBigPtrArray(bparr); +} - fillBigPtrArray(bparr, NUM_ENTRIES); - dumpBigPtrArray(bparr); +TEST_F(BigPtrArrayUnittest, test_for_some3) +{ + printMethodName("test_for_some3\n"); - int addCount = 1; - bparr.ForEach(0, 0, AddToCount, &addCount); + BigPtrArray bparr; - for (int i = 0; i < NUM_ENTRIES; i++) - { - CPPUNIT_ASSERT_MESSAGE - ( - "test_for_some3 failed", - static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == i - ) - } - releaseBigPtrArrayContent(bparr); + fillBigPtrArray(bparr, NUM_ENTRIES); + dumpBigPtrArray(bparr); + + int addCount = 1; + bparr.ForEach(0, 0, AddToCount, &addCount); + + for (int i = 0; i < NUM_ENTRIES; i++) + { + ASSERT_TRUE(static_cast<BigPtrEntryMock*>(bparr[i])->getCount() == i) << "test_for_some3 failed"; } + releaseBigPtrArrayContent(bparr); +} - CPPUNIT_TEST_SUITE(BigPtrArrayUnittest); - CPPUNIT_TEST(test_ctor); - CPPUNIT_TEST(test_insert_entries_at_front); - 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_remove_at_front); - CPPUNIT_TEST(test_remove_at_back); - CPPUNIT_TEST(test_remove_in_the_middle); - CPPUNIT_TEST(test_remove_multiple_elements_at_once); - 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_for_each); - CPPUNIT_TEST(test_for_some1); - CPPUNIT_TEST(test_for_some2); - CPPUNIT_TEST(test_for_some3); - CPPUNIT_TEST_SUITE_END(); -}; const char* START = "START: "; const char* END = "END: "; @@ -791,49 +625,14 @@ private: string endString_; }; -class BigPtrArrayPerformanceTest : public CppUnit::TestFixture +class BigPtrArrayPerformanceTest : public ::testing::Test { public: BigPtrArrayPerformanceTest() { } - void 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"); } - - 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); - CPPUNIT_TEST(test_insert_at_end_100000); - CPPUNIT_TEST(test_insert_at_end_1000000); - CPPUNIT_TEST(test_insert_at_front_1000); - CPPUNIT_TEST(test_insert_at_front_10000); - CPPUNIT_TEST(test_insert_at_front_100000); - CPPUNIT_TEST(test_insert_at_front_1000000); - CPPUNIT_TEST_SUITE_END(); - -private: +protected: void test_insert_at_end(const char* numElements) { char buff[100] = { 0 }; @@ -863,11 +662,35 @@ private: } }; +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_end_1000) +{ test_insert_at_end("1000"); } -//##################################### -// register test suites -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(BigPtrArrayUnittest, "BigPtrArrayUnittest"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(BigPtrArrayPerformanceTest, "BigPtrArrayPerformanceTest"); +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_end_10000) +{ test_insert_at_end("10000"); } + +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_end_100000) +{ test_insert_at_end("100000"); } + +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_end_1000000) +{ test_insert_at_end("1000000"); } + +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_front_1000) +{ test_insert_at_front("1000"); } -NOADDITIONAL; +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_front_10000) +{ test_insert_at_front("10000"); } +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_front_100000) +{ test_insert_at_front("100000"); } + +TEST_F(BigPtrArrayPerformanceTest, test_insert_at_front_1000000) +{ test_insert_at_front("1000000"); } + + +//##################################### + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits