summaryrefslogtreecommitdiff
path: root/binaryurp/qa/test-cache.cxx
diff options
context:
space:
mode:
authorXisco Fauli <anistenis@gmail.com>2011-08-21 21:50:13 +0200
committerXisco Fauli <anistenis@gmail.com>2011-08-21 21:50:13 +0200
commit6c76e4db034fd2c43884698b1a30225fd00b3bfd (patch)
tree1937cb9be81cd2b9f3d0ad27adcc7a7531b8f29d /binaryurp/qa/test-cache.cxx
parente9440fb5a0579096423c081b0f0a2185b628e896 (diff)
parent36703ca1de68cd62782d0d425123521a5bc6732b (diff)
Merge branch 'master' into feature/gsoc2011_wizards
Conflicts: automation/source/inc/cmdbasestream.hxx automation/source/server/cmdbasestream.cxx automation/source/server/retstrm.hxx automation/source/testtool/cmdstrm.cxx automation/source/testtool/cmdstrm.hxx automation/source/testtool/tcommuni.cxx basctl/prj/d.lst basctl/uiconfig/basicide/toolbar/findbar.xml cui/source/dialogs/about.cxx cui/source/dialogs/about.src cui/source/inc/about.hxx extensions/source/abpilot/abpservices.cxx extensions/source/dbpilots/dbpservices.cxx extensions/source/propctrlr/pcrservices.cxx extensions/source/svg/makefile.mk forms/Library_frm.mk lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx lingucomponent/source/spellcheck/spell/sspellimp.cxx package/prj/d.lst package/source/zipapi/XMemoryStream.cxx package/source/zipapi/XMemoryStream.hxx setup_native/prj/d.lst setup_native/source/win32/customactions/relnotes/makefile.mk tools/test/export.map wizards/com/sun/star/wizards/common/ConfigGroup.py wizards/com/sun/star/wizards/common/ConfigNode.py wizards/com/sun/star/wizards/common/Configuration.py wizards/com/sun/star/wizards/common/Desktop.py wizards/com/sun/star/wizards/common/FileAccess.py wizards/com/sun/star/wizards/common/Helper.py wizards/com/sun/star/wizards/common/SystemDialog.py wizards/com/sun/star/wizards/document/OfficeDocument.py wizards/com/sun/star/wizards/fax/FaxDocument.py wizards/com/sun/star/wizards/fax/FaxWizardDialog.py wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py wizards/com/sun/star/wizards/letter/LetterDocument.py wizards/com/sun/star/wizards/letter/LetterWizardDialog.py wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py wizards/com/sun/star/wizards/letter/LetterWizardDialogResources.py wizards/com/sun/star/wizards/text/TextDocument.py wizards/com/sun/star/wizards/text/TextFieldHandler.py wizards/com/sun/star/wizards/text/TextSectionHandler.py wizards/com/sun/star/wizards/text/ViewHandler.py wizards/com/sun/star/wizards/ui/UnoDialog.py wizards/com/sun/star/wizards/ui/UnoDialog2.py wizards/com/sun/star/wizards/ui/WizardDialog.py wizards/com/sun/star/wizards/ui/event/CommonListener.py wizards/com/sun/star/wizards/ui/event/DataAware.py wizards/com/sun/star/wizards/ui/event/RadioDataAware.py wizards/com/sun/star/wizards/ui/event/UnoDataAware.py wizards/util/helpids.h wizards/util/hidother.src xmlsecurity/prj/build.lst xmlsecurity/prj/d.lst xmlsecurity/qa/certext/SanCertExt.cxx
Diffstat (limited to 'binaryurp/qa/test-cache.cxx')
-rw-r--r--binaryurp/qa/test-cache.cxx91
1 files changed, 91 insertions, 0 deletions
diff --git a/binaryurp/qa/test-cache.cxx b/binaryurp/qa/test-cache.cxx
new file mode 100644
index 000000000000..c47f6f7e6042
--- /dev/null
+++ b/binaryurp/qa/test-cache.cxx
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2011 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#ifdef IOS
+#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_binaryurp_cache
+#endif
+
+#include "sal/config.h"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
+
+#include "../source/cache.hxx"
+
+namespace {
+
+class Test: public CppUnit::TestFixture {
+private:
+ CPPUNIT_TEST_SUITE(Test);
+ CPPUNIT_TEST(testNothingLostFromLruList);
+ CPPUNIT_TEST_SUITE_END();
+
+ void testNothingLostFromLruList();
+};
+
+// cf. jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java:
+void Test::testNothingLostFromLruList() {
+ int a[8];
+ for (int i = 0; i != sizeof a / sizeof a[0]; ++i) {
+ for (int j = 0; j != i; ++j) {
+ a[j] = 0;
+ }
+ for (;;) {
+ binaryurp::Cache< int > c(4);
+ for (int k = 0; k != i; ++k) {
+ bool f;
+ c.add(a[k], &f);
+ }
+ bool f;
+ CPPUNIT_ASSERT_EQUAL(
+ 6,
+ c.add(-1, &f) + c.add(-2, &f) + c.add(-3, &f) + c.add(-4, &f));
+ int j = i - 1;
+ while (j >= 0 && a[j] == 3) {
+ --j;
+ }
+ if (j < 0) {
+ break;
+ }
+ ++a[j];
+ for (int k = j + 1; k != i; ++k) {
+ a[k] = 0;
+ }
+ }
+ }
+}
+
+CPPUNIT_TEST_SUITE_REGISTRATION(Test);
+
+}
+
+CPPUNIT_PLUGIN_IMPLEMENT();
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */