Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  rtl_OStringBuffer.cxx   Sprache: C

 
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
 */


#include <sal/types.h>
#include <rtl/string.hxx>
#include "rtl_String_Const.h"
#include <rtl/strbuf.hxx>

#include <cppunit/TestAssert.h>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <string.h>

// This file contains cppunit tests for the
// OString and OStringBuffer classes

// testing constructors
namespace rtl_OStringBuffer
{
    class  ctors : public CppUnit::TestFixture
    {
    public:

        void ctor_001()
        {
            OStringBuffer aStrBuf;
            const char* pStr = aStrBuf.getStr();

            CPPUNIT_ASSERT_MESSAGE
            (
                "New OStringBuffer containing no characters",
                aStrBuf.isEmpty()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer containing no characters",
                '\0', *pStr
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer containing no characters",
                sal_Int32(16), aStrBuf.getCapacity()
            );
        }

        void ctor_002()
        {
            OString       aStrtmp( kTestStr1 );
            OStringBuffer aStrBuftmp( aStrtmp );
            OStringBuffer aStrBuf( aStrBuftmp );
            // sal_Bool res = cmpstr(aStrBuftmp.getStr(),aStrBuf.getStr());

            sal_Int32 nLenStrBuftmp = aStrBuftmp.getLength();

            OString sStr(aStrBuftmp.getStr());
            bool res = aStrtmp == sStr;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer from another OStringBuffer",
                nLenStrBuftmp, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer from another OStringBuffer",
                aStrBuftmp.getCapacity(), aStrBuf.getCapacity()
            );
            CPPUNIT_ASSERT_MESSAGE
            (
                "New OStringBuffer from another OStringBuffer",
                res
            );

        }

        void ctor_003()
        {
            OStringBuffer aStrBuf1(kTestStr2Len);
            OStringBuffer aStrBuf2(0);

            const char* pStr1 = aStrBuf1.getStr();
            const char* pStr2 = aStrBuf2.getStr();

            CPPUNIT_ASSERT_MESSAGE
            (
                "New OStringBuffer containing no characters and contain assigned capacity",
                aStrBuf1.isEmpty()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer containing no characters and contain assigned capacity",
                '\0', *pStr1
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer containing no characters and contain assigned capacity",
                kTestStr2Len, aStrBuf1.getCapacity()
            );
            CPPUNIT_ASSERT_MESSAGE
            (
                "New OStringBuffer containing no characters and contain assigned capacity",
                aStrBuf2.isEmpty()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer containing no characters and contain assigned capacity",
                '\0', *pStr2
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer containing no characters and contain assigned capacity",
                sal_Int32(0), aStrBuf2.getCapacity()
            );

        }

        void ctor_004()
        {
            OString aStrtmp( kTestStr1 );
            OStringBuffer aStrBuf( aStrtmp );
            sal_Int32 leg = aStrBuf.getLength();

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer from OString",
                aStrtmp, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer from OString",
                aStrtmp.pData->length, leg
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer from OString",
                leg+16, aStrBuf.getCapacity()

            );
        }

        void ctor_005() {
            OStringBuffer b1;
            auto dummy = b1.makeStringAndClear();
            (void)dummy;
            OStringBuffer b2(b1);
            (void)b2;
        }

        void ctor_006()
        {
            //pass in a const char*, get a temp
            //OString
            OStringBuffer aStrBuf(kTestStr1);
            sal_Int32 leg = aStrBuf.getLength();

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer from const char*",
                rtl_str_getLength(kTestStr1), leg
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "New OStringBuffer from const char*",
                leg+16, aStrBuf.getCapacity()
            );
        }

        CPPUNIT_TEST_SUITE(ctors);
        CPPUNIT_TEST(ctor_001);
        CPPUNIT_TEST(ctor_002);
        CPPUNIT_TEST(ctor_003);
        CPPUNIT_TEST(ctor_004);
        CPPUNIT_TEST(ctor_005);
        CPPUNIT_TEST(ctor_006);
        CPPUNIT_TEST_SUITE_END();
    };

    class  makeStringAndClear : public CppUnit::TestFixture
    {
        OString arrOUS[6];

    public:
        void setUp() override
        {
            arrOUS[0] = OString( kTestStr1 );
            arrOUS[1] = OString( kTestStr14 );
            arrOUS[2] = OString( kTestStr25 );
            arrOUS[3] = OString( kTestStr27 );
            arrOUS[4] = OString( kTestStr29 );
            arrOUS[5] = OString( "\0", 1 );

        }

        void makeStringAndClear_001()
        {
            OStringBuffer   aStrBuf1;

            bool lastRes = aStrBuf1.makeStringAndClear().isEmpty();

            CPPUNIT_ASSERT_MESSAGE
            (
                "two empty strings(def. constructor)",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "two empty strings(def. constructor)",
                sal_Int32(0), aStrBuf1.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "two empty strings(def. constructor)",
                '\0', *(aStrBuf1.getStr())
            );

        }

        void makeStringAndClear_002()
        {
            OStringBuffer   aStrBuf2(26);

            bool lastRes = aStrBuf2.makeStringAndClear().isEmpty();

            CPPUNIT_ASSERT_MESSAGE
            (
                "two empty strings(with an argu)",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "two empty strings(with an argu)",
                sal_Int32(0), aStrBuf2.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "two empty strings(with an argu)",
                '\0', *(aStrBuf2.getStr())
            );

        }

        void makeStringAndClear_003()
        {
            OStringBuffer   aStrBuf3(arrOUS[0]);
            OString        aStr3(arrOUS[0]);

            bool lastRes = (aStrBuf3.makeStringAndClear() == aStr3 );

            CPPUNIT_ASSERT_MESSAGE
            (
                "normal string",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "normal string",
                sal_Int32(0), aStrBuf3.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "normal string",
                '\0', *(aStrBuf3.getStr())
            );

        }

        void makeStringAndClear_004()
        {
            OStringBuffer   aStrBuf4(arrOUS[1]);
            OString         aStr4(arrOUS[1]);

            bool lastRes = (aStrBuf4.makeStringAndClear() ==  aStr4 );

            CPPUNIT_ASSERT_MESSAGE
            (
                "string with space ",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string with space ",
                sal_Int32(0), aStrBuf4.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string with space ",
                '\0', *(aStrBuf4.getStr())
            );
        }

        void makeStringAndClear_005()
        {
            OStringBuffer   aStrBuf5(arrOUS[2]);
            OString         aStr5(arrOUS[2]);

            bool lastRes = (aStrBuf5.makeStringAndClear() ==  aStr5 );

            CPPUNIT_ASSERT_MESSAGE
            (
                "empty string",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "empty string",
                sal_Int32(0), aStrBuf5.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "empty string",
                '\0', *(aStrBuf5.getStr())
            );
        }

        void makeStringAndClear_006()
        {
            OStringBuffer   aStrBuf6(arrOUS[3]);
            OString         aStr6(arrOUS[3]);

            bool lastRes = (aStrBuf6.makeStringAndClear() == aStr6 );

            CPPUNIT_ASSERT_MESSAGE
            (
                "string with a character",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string with a character",
                sal_Int32(0), aStrBuf6.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string with a character",
                '\0', *(aStrBuf6.getStr())
            );
        }

        void makeStringAndClear_007()
        {
            OStringBuffer   aStrBuf7(arrOUS[4]);
            OString         aStr7(arrOUS[4]);

            bool lastRes = (aStrBuf7.makeStringAndClear() == aStr7 );

            CPPUNIT_ASSERT_MESSAGE
            (
                "string with special characters",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string with special characters",
                sal_Int32(0), aStrBuf7.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string with special characters",
                '\0', *(aStrBuf7.getStr())
            );
        }

        void makeStringAndClear_008()
        {
            OStringBuffer   aStrBuf8(arrOUS[5]);
            OString         aStr8(arrOUS[5]);

            bool lastRes = (aStrBuf8.makeStringAndClear() == aStr8 );

            CPPUNIT_ASSERT_MESSAGE
            (
                "string only with (\0)",
                lastRes
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string only with (\0)",
                sal_Int32(0), aStrBuf8.getCapacity()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "string only with (\0)",
                '\0', *(aStrBuf8.getStr())
            );
        }

        CPPUNIT_TEST_SUITE(makeStringAndClear);
        CPPUNIT_TEST(makeStringAndClear_001);
        CPPUNIT_TEST(makeStringAndClear_002);
        CPPUNIT_TEST(makeStringAndClear_003);
        CPPUNIT_TEST(makeStringAndClear_004);
        CPPUNIT_TEST(makeStringAndClear_005);
        CPPUNIT_TEST(makeStringAndClear_006);
        CPPUNIT_TEST(makeStringAndClear_007);
        CPPUNIT_TEST(makeStringAndClear_008);
        CPPUNIT_TEST_SUITE_END();
    };

    class  remove : public CppUnit::TestFixture
    {
    public:
        void remove_001()
        {
            OStringBuffer sb(
                RTL_CONSTASCII_STRINGPARAM("Red Hat, Inc."));

            sb.remove(0, 4);
            CPPUNIT_ASSERT(sb.toString().equalsL(
                RTL_CONSTASCII_STRINGPARAM("Hat, Inc.")));

            sb.remove(3, 6);
            CPPUNIT_ASSERT(sb.toString().equalsL(
                RTL_CONSTASCII_STRINGPARAM("Hat")));

            sb.remove(0, 100);

            CPPUNIT_ASSERT(sb.toString().isEmpty());

            sb.append(RTL_CONSTASCII_STRINGPARAM("Red Hat, Inc."));

            sb.remove(3, 100);

            CPPUNIT_ASSERT(sb.toString().equalsL(
                RTL_CONSTASCII_STRINGPARAM("Red")));

            sb.remove(0, sb.getLength());

            CPPUNIT_ASSERT(sb.toString().isEmpty());
        }

        CPPUNIT_TEST_SUITE(remove);
        CPPUNIT_TEST(remove_001);
        CPPUNIT_TEST_SUITE_END();
    };

    class  getLength : public CppUnit::TestFixture
    {
        OString arrOUS[6];

    public:
        void setUp() override
        {
            arrOUS[0] = OString( kTestStr1 );
            arrOUS[1] = "1"_ostr;
            arrOUS[2] = OString( );
            arrOUS[3] = ""_ostr;
            arrOUS[4] = OString( "\0", 1 );
            arrOUS[5] = OString( kTestStr2 );

        }

        void getLength_001()
        {
            OStringBuffer   aStrBuf( arrOUS[0] );
            sal_Int32              expVal = kTestStr1Len;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length of ascii string",
                expVal, aStrBuf.getLength()
            );

        }

        void getLength_002()
        {
            OStringBuffer   aStrBuf( arrOUS[1] );
            sal_Int32              expVal = 1;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length of ascii string of size 1",
                expVal, aStrBuf.getLength()
            );
        }

        void getLength_003()
        {
            OStringBuffer   aStrBuf( arrOUS[2] );
            sal_Int32              expVal = 0;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length of empty string",
                expVal, aStrBuf.getLength()
            );
        }

        void getLength_004()
        {
            OStringBuffer   aStrBuf( arrOUS[3] );
            sal_Int32              expVal = 0;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length of empty string (empty ascii string arg)",
                expVal, aStrBuf.getLength()
            );
        }

        void getLength_005()
        {
            OStringBuffer   aStrBuf( arrOUS[4] );
            sal_Int32              expVal = 1;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length of string with \\0 embedded",
                expVal, aStrBuf.getLength()
            );
        }

        void getLength_006()
        {
            OStringBuffer   aStrBuf( arrOUS[5] );
            sal_Int32              expVal = kTestStr2Len;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length(>16) of ascii string",
                expVal, aStrBuf.getLength()
            );
        }

        void getLength_007()
        {
            OStringBuffer   aStrBuf;
            sal_Int32              expVal = 0;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length of empty string (default constructor)",
                expVal, aStrBuf.getLength()
            );
        }

        void getLength_008()
        {
            OStringBuffer   aStrBuf( 26 );
            sal_Int32               expVal   = 0;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "length of empty string (with capacity)",
                expVal, aStrBuf.getLength()
            );
        }

        CPPUNIT_TEST_SUITE( getLength );
        CPPUNIT_TEST( getLength_001 );
        CPPUNIT_TEST( getLength_002 );
        CPPUNIT_TEST( getLength_003 );
        CPPUNIT_TEST( getLength_004 );
        CPPUNIT_TEST( getLength_005 );
        CPPUNIT_TEST( getLength_006 );
        CPPUNIT_TEST( getLength_007 );
        CPPUNIT_TEST( getLength_008 );
        CPPUNIT_TEST_SUITE_END();
    };

    class  getCapacity : public CppUnit::TestFixture
    {
        OString arrOUS[6];

    public:
        void setUp() override
        {
            arrOUS[0] = OString( kTestStr1 );
            arrOUS[1] = "1"_ostr;
            arrOUS[2] = OString( );
            arrOUS[3] = ""_ostr;
            arrOUS[4] = OString( "\0", 1 );
            arrOUS[5] = OString( kTestStr2 );

        }

        void getCapacity_001()
        {
            OStringBuffer   aStrBuf( arrOUS[0] );
            sal_Int32              expVal = kTestStr1Len+16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of ascii string",
                expVal, aStrBuf.getCapacity()
            );

        }

        void getCapacity_002()
        {
            OStringBuffer   aStrBuf( arrOUS[1] );
            sal_Int32              expVal = 1+16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of ascii string of size 1",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_003()
        {
            OStringBuffer   aStrBuf( arrOUS[2] );
            sal_Int32              expVal = 0+16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of empty string",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_004()
        {
            OStringBuffer   aStrBuf( arrOUS[3] );
            sal_Int32              expVal = 0+16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of empty string (empty ascii string arg)",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_005()
        {
            OStringBuffer   aStrBuf( arrOUS[4] );
            sal_Int32              expVal = 1+16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of string with \\0 embedded",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_006()
        {
            OStringBuffer   aStrBuf( arrOUS[5] );
            sal_Int32              expVal = kTestStr2Len+16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity(>16) of ascii string",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_007()
        {
            OStringBuffer   aStrBuf;
            sal_Int32              expVal = 16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of empty string (default constructor)",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_010()
        {
            OStringBuffer   aStrBuf( 16 );
            sal_Int32              expVal = 16;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of empty string (with capacity 16)",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_011()
        {
            OStringBuffer   aStrBuf( 6 );
            sal_Int32              expVal = 6;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of empty string (with capacity 6)",
                expVal, aStrBuf.getCapacity()
            );
        }

        void getCapacity_012()
        {
            OStringBuffer   aStrBuf( 0 );
            sal_Int32              expVal = 0;

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity of empty string (with capacity 0)",
                expVal, aStrBuf.getCapacity()
            );
        }

        CPPUNIT_TEST_SUITE( getCapacity );
        CPPUNIT_TEST( getCapacity_001 );
        CPPUNIT_TEST( getCapacity_002 );
        CPPUNIT_TEST( getCapacity_003 );
        CPPUNIT_TEST( getCapacity_004 );
        CPPUNIT_TEST( getCapacity_005 );
        CPPUNIT_TEST( getCapacity_006 );
        CPPUNIT_TEST( getCapacity_007 );
        CPPUNIT_TEST( getCapacity_010 );
        CPPUNIT_TEST( getCapacity_011 );
        CPPUNIT_TEST( getCapacity_012 );
        CPPUNIT_TEST_SUITE_END();
    };

    class  ensureCapacity : public CppUnit::TestFixture
    {
        void ensureCapacity_001()
        {
            sal_Int32          expVal = 16;
            OStringBuffer   aStrBuf;
            sal_Int32              input = 5;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 16, minimum is 5",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_002()
        {
            sal_Int32          expVal = 16;
            OStringBuffer   aStrBuf;
            sal_Int32              input = -5;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 16, minimum is -5",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_003()
        {
            sal_Int32          expVal = 16;
            OStringBuffer   aStrBuf;
            sal_Int32              input = 0;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 16, minimum is 0",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_004()           //the testcase is based on comments
        {
            sal_Int32          expVal = 20;
            OStringBuffer   aStrBuf;
            sal_Int32              input = 20;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 16, minimum is 20",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_005()
        {
            sal_Int32          expVal = 50;
            OStringBuffer   aStrBuf;
            sal_Int32              input = 50;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 16, minimum is 50",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_006()
        {
            sal_Int32          expVal = 20;
            OStringBuffer   aStrBuf( 6 );
            sal_Int32              input = 20;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 6, minimum is 20",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_007()
        {
            sal_Int32          expVal = 6;
            OStringBuffer   aStrBuf( 6 );
            sal_Int32              input = 2;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 6, minimum is 2",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_008()
        {
            sal_Int32          expVal = 6;
            OStringBuffer   aStrBuf( 6 );
            sal_Int32              input = -6;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 6, minimum is -6",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_009()      //the testcase is based on comments
        {
            sal_Int32          expVal = 10;
            OStringBuffer   aStrBuf( 6 );
            sal_Int32              input = 10;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 6, minimum is -6",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_010()
        {
            sal_Int32          expVal = 6;
            OStringBuffer   aStrBuf( 0 );
            sal_Int32              input = 6;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 0, minimum is 6",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_011()       //the testcase is based on comments
        {
            sal_Int32          expVal = 2;  // capacity is x = (str->length + 1) * 2; minimum < x ? x : minimum
            OStringBuffer   aStrBuf( 0 );
            sal_Int32              input = 1;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 0, minimum is 1",
                expVal, aStrBuf.getCapacity()
            );

        }

        void ensureCapacity_012()
        {
            sal_Int32          expVal = 0;
            OStringBuffer   aStrBuf( 0 );
            sal_Int32              input = -1;

            aStrBuf.ensureCapacity( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "capacity equal to 0, minimum is -1",
                expVal, aStrBuf.getCapacity()
            );

        }

        CPPUNIT_TEST_SUITE( ensureCapacity );
        CPPUNIT_TEST( ensureCapacity_001 );
        CPPUNIT_TEST( ensureCapacity_002 );
        CPPUNIT_TEST( ensureCapacity_003 );
        CPPUNIT_TEST( ensureCapacity_004 );
        CPPUNIT_TEST( ensureCapacity_005 );
        CPPUNIT_TEST( ensureCapacity_006 );
        CPPUNIT_TEST( ensureCapacity_007 );
        CPPUNIT_TEST( ensureCapacity_008 );
        CPPUNIT_TEST( ensureCapacity_009 );
        CPPUNIT_TEST( ensureCapacity_010 );
        CPPUNIT_TEST( ensureCapacity_011 );
        CPPUNIT_TEST( ensureCapacity_012 );
        CPPUNIT_TEST_SUITE_END();
    };

    class  setLength : public CppUnit::TestFixture
    {
        OString arrOUS[6];

    public:
        void setUp() override
        {
            arrOUS[0] = OString( kTestStr1 );
            arrOUS[1] = "1"_ostr;
            arrOUS[2] = OString( );
            arrOUS[3] = ""_ostr;
            arrOUS[4] = OString( "\0", 1 );
            arrOUS[5] = OString( kTestStr2 );

        }

        void setLength_001()
        {
            OStringBuffer   aStrBuf( arrOUS[0] );
            sal_Int32              expVal1 = 50;
            OString         expVal2( kTestStr1 );
            sal_Int32              expVal3 = 50;
            sal_Int32              input   = 50;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(kTestStr1)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(kTestStr1)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(kTestStr1)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_002()
        {
            OStringBuffer   aStrBuf( arrOUS[0] );
            sal_Int32              expVal1 = kTestStr13Len;
            OString         expVal2( kTestStr1 );
            sal_Int32              expVal3 = 32;
            sal_Int32              input   = kTestStr13Len;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(kTestStr1)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(kTestStr1)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(kTestStr1)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_003()
        {
            OStringBuffer   aStrBuf( arrOUS[0] );
            sal_Int32              expVal1 = kTestStr1Len;
            OString         expVal2( kTestStr1 );
            sal_Int32              expVal3 = 32;
            sal_Int32              input   = kTestStr1Len;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OStringBuffer(kTestStr1)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OStringBuffer(kTestStr1)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OStringBuffer(kTestStr1)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_004()
        {
            OStringBuffer   aStrBuf( arrOUS[0] );
            sal_Int32              expVal1 = kTestStr7Len;
            OString         expVal2( kTestStr7 );
            sal_Int32              expVal3 = 32;
            sal_Int32              input   = kTestStr7Len;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer(kTestStr1)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer(kTestStr1)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer(kTestStr1)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_005()
        {
            OStringBuffer   aStrBuf( arrOUS[0] );
            sal_Int32              expVal1 = 0;
            sal_Int32              expVal3 = 32;
            sal_Int32              input   = 0;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to 0",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to 0",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to 0",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_006()
        {
            OStringBuffer   aStrBuf( arrOUS[1] );
            sal_Int32              expVal1 = 25;
            OString         expVal2( arrOUS[1] );
            sal_Int32              expVal3 = 25;
            sal_Int32              input   = 25;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(1)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(1)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(1)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_007()
        {
            OStringBuffer   aStrBuf( arrOUS[1] );
            sal_Int32              expVal1 = kTestStr27Len;
            OString         expVal2( arrOUS[1] );
            sal_Int32              expVal3 = 17;
            sal_Int32              input   = kTestStr27Len;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OStringBuffer(1)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OStringBuffer(1)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OStringBuffer(1)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_008()
        {
            OStringBuffer   aStrBuf( arrOUS[1] );
            sal_Int32              expVal1 = 0;
            sal_Int32              expVal3 = 17;
            sal_Int32              input   = 0;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OUStringBuffer(1)",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OUStringBuffer(1)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OUStringBuffer(1)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_009()
        {
            OStringBuffer   aStrBuf( arrOUS[2] );
            sal_Int32              expVal1 = 20;
            sal_Int32              expVal3 = 20;
            sal_Int32              input   = 20;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer()",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer()",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer()",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_010()
        {
            OStringBuffer   aStrBuf( arrOUS[2] );
            sal_Int32              expVal1 = 3;
            sal_Int32              expVal3 = 16;
            sal_Int32              input   = 3;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer()",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer()",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer()",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_011()
        {
            OStringBuffer   aStrBuf( arrOUS[2] );
            sal_Int32              expVal1 = 0;
            sal_Int32              expVal3 = 16;
            sal_Int32              input   = 0;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer()",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer()",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer()",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_012()
        {
            OStringBuffer   aStrBuf( arrOUS[3] );
            sal_Int32              expVal1 = 20;
            sal_Int32              expVal3 = 20;
            sal_Int32              input   = 20;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer("")",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer("")",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer("")",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_013()
        {
            OStringBuffer   aStrBuf( arrOUS[3] );
            sal_Int32              expVal1 = 5;
            sal_Int32              expVal3 = 16;
            sal_Int32              input   = 5;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer("")",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer("")",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer("")",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_014()
        {
            OStringBuffer   aStrBuf( arrOUS[3] );
            sal_Int32              expVal1 = 0;
            sal_Int32              expVal3 = 16;
            sal_Int32              input   = 0;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer("")",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer("")",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer("")",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_015()
        {
            OStringBuffer   aStrBuf( arrOUS[4] );
            sal_Int32              expVal1 = 20;
            sal_Int32              expVal3 = 20;
            sal_Int32              input   = 20;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(\0)",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(\0)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(\0)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_016()
        {
            OStringBuffer   aStrBuf( arrOUS[4] );
            sal_Int32              expVal1 = 5;
            sal_Int32              expVal3 = 17;
            sal_Int32              input   = 5;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(\0)",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(\0)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(\0)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_017()
        {
            OStringBuffer   aStrBuf( arrOUS[4] );
            sal_Int32              expVal1 = 0;
            sal_Int32              expVal3 = 17;
            sal_Int32              input   = 0;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer(\0)",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer(\0)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OStringBuffer(\0)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_018()
        {
            OStringBuffer   aStrBuf( arrOUS[5] );
            sal_Int32              expVal1 = 50;
            OString         expVal2( kTestStr2 );
            sal_Int32              expVal3 = 66;
            sal_Int32              input   = 50;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(kTestStr2)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(kTestStr2)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the capacity of OStringBuffer(kTestStr2)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_019()
        {
            OStringBuffer   aStrBuf( arrOUS[5] );
            sal_Int32              expVal1 = 40;
            OString         expVal2(kTestStr2);
            sal_Int32              expVal3 = 48;
            sal_Int32              input   = 40;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(kTestStr2)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(kTestStr2)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength more than the length of OStringBuffer(kTestStr2)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_020()
        {
            OStringBuffer   aStrBuf( arrOUS[5] );
            sal_Int32              expVal1 = kTestStr2Len;
            OString         expVal2(kTestStr2);
            sal_Int32              expVal3 = 48;
            sal_Int32              input   = kTestStr2Len;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OUStringBuffer(kTestStr2)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OUStringBuffer(kTestStr2)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to the length of OUStringBuffer(kTestStr2)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_021()
        {
            OStringBuffer   aStrBuf( arrOUS[5] );
            sal_Int32              expVal1 = kTestStr7Len;
            OString         expVal2(kTestStr7);
            sal_Int32              expVal3 = 48;
            sal_Int32              input   = kTestStr7Len;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OUStringBuffer(TestStr2)",
                expVal2, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OUStringBuffer(TestStr2)",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength less than the length of OUStringBuffer(TestStr2)",
                expVal3, aStrBuf.getCapacity()
            );

        }

        void setLength_022()
        {
            OStringBuffer   aStrBuf( arrOUS[5] );
            sal_Int32              expVal1 = 0;
            sal_Int32              expVal3 = 48;
            sal_Int32              input   = 0;

            aStrBuf.setLength( input );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to 0",
                '\0', aStrBuf.getStr()[0]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to 0",
                expVal1, aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "newLength equal to 0",
                expVal3, aStrBuf.getCapacity()
            );

        }

        CPPUNIT_TEST_SUITE( setLength );
        CPPUNIT_TEST( setLength_001 );
        CPPUNIT_TEST( setLength_002 );
        CPPUNIT_TEST( setLength_003 );
        CPPUNIT_TEST( setLength_004 );
        CPPUNIT_TEST( setLength_005 );
        CPPUNIT_TEST( setLength_006 );
        CPPUNIT_TEST( setLength_007 );
        CPPUNIT_TEST( setLength_008 );
        CPPUNIT_TEST( setLength_009 );
        CPPUNIT_TEST( setLength_010 );
        CPPUNIT_TEST( setLength_011 );
        CPPUNIT_TEST( setLength_012 );
        CPPUNIT_TEST( setLength_013 );
        CPPUNIT_TEST( setLength_014 );
        CPPUNIT_TEST( setLength_015 );
        CPPUNIT_TEST( setLength_016 );
        CPPUNIT_TEST( setLength_017 );
        CPPUNIT_TEST( setLength_018 );
        CPPUNIT_TEST( setLength_019 );
        CPPUNIT_TEST( setLength_020 );
        CPPUNIT_TEST( setLength_021 );
        CPPUNIT_TEST( setLength_022 );
        CPPUNIT_TEST_SUITE_END();
    };

    class  csuc : public CppUnit::TestFixture
    {
        void csuc_001()
        {
            const char*        expVal = kTestStr1;
            OStringBuffer   aStrBuf( kTestStr1 );
            sal_Int32              cmpLen = kTestStr1Len;

            // LLA: wrong access! const char* pstr = *&aStrBuf;
            const char* pstr = aStrBuf.getStr();
            int nEqual = strncmp(pstr, expVal, cmpLen);

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "test normal string",
                /* cmpstr( pstr, expVal, cmpLen ) */
                0, nEqual
            );

        }

        void csuc_002()
        {
            OStringBuffer   aStrBuf;

            // LLA: wrong access! const char* pstr = *&aStrBuf;
            const char* pstr = aStrBuf.getStr();
            sal_Int32 nLen = strlen(pstr);

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "test empty string",
                // cmpstr( pstr, &expVal, cmpLen )
                static_cast<sal_Int32>(0), nLen
                );

        }

        CPPUNIT_TEST_SUITE( csuc );
        CPPUNIT_TEST( csuc_001 );
        CPPUNIT_TEST( csuc_002 );
        CPPUNIT_TEST_SUITE_END();
    };

    class  getStr : public CppUnit::TestFixture
    {
        void getStr_001()
        {
            const char*        expVal = kTestStr1;
            OStringBuffer   aStrBuf( kTestStr1 );
            sal_Int32              cmpLen = kTestStr1Len;

            const char* pstr = aStrBuf.getStr();
            int nEqual = strncmp(pstr, expVal, cmpLen);

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "test normal string",
                0, nEqual
            );

        }

        void getStr_002()
        {
            OStringBuffer   aStrBuf;
            const char* pstr = aStrBuf.getStr();
            CPPUNIT_ASSERT_MESSAGE
            (
                "test empty string",
                pstr != nullptr
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "test empty string",
                '\0', pstr[0]
            );

        }

        CPPUNIT_TEST_SUITE( getStr );
        CPPUNIT_TEST( getStr_001 );
        CPPUNIT_TEST( getStr_002 );
        CPPUNIT_TEST_SUITE_END();
    };

    class  append_001 : public CppUnit::TestFixture
    {
        OString arrOUS[5];

        OString empty; // silence loplugin

    public:
        void setUp() override
        {
            arrOUS[0] = OString( kTestStr7 );
            arrOUS[1] = OString(  );
            arrOUS[2] = OString( kTestStr25 );
            arrOUS[3] = ""_ostr;
            arrOUS[4] = OString( kTestStr28 );

        }

        void append_001_001()
        {
            OString                expVal( kTestStr1 );
            OStringBuffer   aStrBuf( arrOUS[0] );
            OString                input2( kTestStr8 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[0]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[0]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_002()
        {
            OString                expVal( kTestStr2 );
            OStringBuffer   aStrBuf( arrOUS[0] );
            OString                input2( kTestStr36 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[0]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[0]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_003()
        {
            OString                expVal( kTestStr37 );
            OStringBuffer   aStrBuf( arrOUS[0] );
            OString                input2( kTestStr23 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[0]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[0]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_004()
        {
            OString                expVal( kTestStr7 );
            OStringBuffer   aStrBuf( arrOUS[0] );

            aStrBuf.append( empty );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[0]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[0]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_005()
        {
            OString                expVal( kTestStr7 );
            OStringBuffer   aStrBuf( arrOUS[1] );
            OString                input2( kTestStr7 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[1]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[1]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_006()
        {
            OString                expVal( kTestStr2 );
            OStringBuffer   aStrBuf( arrOUS[1] );
            OString                input2( kTestStr2 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[1]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[1]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_007()
        {
            OString                expVal( kTestStr1 );
            OStringBuffer   aStrBuf( arrOUS[1] );
            OString                input2( kTestStr1 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[1]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[1]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_008()
        {
            OString                expVal;
            OStringBuffer   aStrBuf( arrOUS[1] );

            aStrBuf.append( empty );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[1]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[1]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_009()
        {
            OString                expVal( kTestStr7 );
            OStringBuffer   aStrBuf( arrOUS[2] );
            OString                input2( kTestStr7 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[2]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[2]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_010()
        {
            OString                expVal( kTestStr2 );
            OStringBuffer   aStrBuf( arrOUS[2] );
            OString                input2( kTestStr2 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[2]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[2]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_011()
        {
            OString                expVal( kTestStr1 );
            OStringBuffer   aStrBuf( arrOUS[2] );
            OString                input2( kTestStr1 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[2]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[2]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_012()
        {
            OString                expVal;
            OStringBuffer   aStrBuf( arrOUS[2] );

            aStrBuf.append( empty );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[2]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[2]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_013()
        {
            OString                expVal( kTestStr7 );
            OStringBuffer   aStrBuf( arrOUS[3] );
            OString                input2( kTestStr7 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[3]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[3]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_014()
        {
            OString                expVal( kTestStr2 );
            OStringBuffer   aStrBuf( arrOUS[3] );
            OString                input2( kTestStr2 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[3]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[3]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_015()
        {
            OString                expVal( kTestStr1 );
            OStringBuffer   aStrBuf( arrOUS[3] );
            OString                input2( kTestStr1 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[3]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[3]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_016()
        {
            OString                expVal;
            OStringBuffer   aStrBuf( arrOUS[3] );

            aStrBuf.append( empty );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[3]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[3]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_017()
        {
            OString                expVal( kTestStr29 );
            OStringBuffer   aStrBuf( arrOUS[4] );
            OString                input2( kTestStr38 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[4]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length less than 16) to the string buffer arrOUS[4]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_018()
        {
            OString                expVal( kTestStr39 );
            OStringBuffer   aStrBuf( arrOUS[4] );
            OString                input2( kTestStr17 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[4]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length more than 16) to the string buffer arrOUS[4]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_019()
        {
            OString                expVal( kTestStr40 );
            OStringBuffer   aStrBuf( arrOUS[4] );
            OString                input2( kTestStr31 );

            aStrBuf.append( input2 );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[4]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 16) to the string buffer arrOUS[4]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_001_020()
        {
            OString                expVal( kTestStr28 );
            OStringBuffer   aStrBuf( arrOUS[4] );

            aStrBuf.append( empty );

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[4]",
                expVal, OString(aStrBuf.getStr())
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "Appends the string(length equal to 0) to the string buffer arrOUS[4]",
                expVal.getLength(), aStrBuf.getLength()
            );

        }

        void append_null()
        {
            OStringBuffer   aStrBuf("hello world");

            aStrBuf.append('\0');
            aStrBuf.append('\1');
            aStrBuf.append('\2');

            aStrBuf.append("hello world");

            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "should be able to append nulls",
                sal_Int32(2 * RTL_CONSTASCII_LENGTH("hello world") + 3), aStrBuf.getLength()
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "should be able to append nulls",
                '\0', aStrBuf[RTL_CONSTASCII_LENGTH("hello world")]
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "should be able to append nulls",
                1, aStrBuf[RTL_CONSTASCII_LENGTH("hello world")]+1
            );
            CPPUNIT_ASSERT_EQUAL_MESSAGE
            (
                "should be able to append nulls",
                2, aStrBuf[RTL_CONSTASCII_LENGTH("hello world")]+2
            );

        }

        CPPUNIT_TEST_SUITE( append_001 );
        CPPUNIT_TEST( append_001_001 );
        CPPUNIT_TEST( append_001_002 );
        CPPUNIT_TEST( append_001_003 );
        CPPUNIT_TEST( append_001_004 );
        CPPUNIT_TEST( append_001_005 );
        CPPUNIT_TEST( append_001_006 );
        CPPUNIT_TEST( append_001_007 );
        CPPUNIT_TEST( append_001_008 );
        CPPUNIT_TEST( append_001_009 );
        CPPUNIT_TEST( append_001_010 );
        CPPUNIT_TEST( append_001_011 );
        CPPUNIT_TEST( append_001_012 );
        CPPUNIT_TEST( append_001_013 );
        CPPUNIT_TEST( append_001_014 );
        CPPUNIT_TEST( append_001_015 );
        CPPUNIT_TEST( append_001_016 );
        CPPUNIT_TEST( append_001_017 );
        CPPUNIT_TEST( append_001_018 );
        CPPUNIT_TEST( append_001_019 );
        CPPUNIT_TEST( append_001_020 );
        CPPUNIT_TEST( append_null );
        CPPUNIT_TEST_SUITE_END();
    };

    class  append_002 : public CppUnit::TestFixture
    {
        OString arrOUS[5];

    public:
        void setUp() override
        {
            arrOUS[0] = OString( kTestStr7 );
            arrOUS[1] = OString(  );
            arrOUS[2] = OString( kTestStr25 );
            arrOUS[3] = ""_ostr;
            arrOUS[4] = OString( kTestStr28 );

        }

        void append_002_001()
        {
            OString                expVal( kTestStr1 );
            OStringBuffer   aStrBuf( arrOUS[0] );
            const char*        input = kTestStr8;

            aStrBuf.append( input );

--> --------------------

--> maximum size reached

--> --------------------

Messung V0.5
C=96 H=97 G=96

¤ Dauer der Verarbeitung: 0.32 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge