LCOV - code coverage report
Current view: top level - cppu/qa - test_any.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 1123 1150 97.7 %
Date: 2012-08-25 Functions: 50 54 92.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 5524 11070 49.9 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*
       3                 :            :  * This file is part of the LibreOffice project.
       4                 :            :  *
       5                 :            :  * This Source Code Form is subject to the terms of the Mozilla Public
       6                 :            :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7                 :            :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8                 :            :  *
       9                 :            :  * This file incorporates work covered by the following license notice:
      10                 :            :  *
      11                 :            :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12                 :            :  *   contributor license agreements. See the NOTICE file distributed
      13                 :            :  *   with this work for additional information regarding copyright
      14                 :            :  *   ownership. The ASF licenses this file to you under the Apache
      15                 :            :  *   License, Version 2.0 (the "License"); you may not use this file
      16                 :            :  *   except in compliance with the License. You may obtain a copy of
      17                 :            :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18                 :            :  */
      19                 :            : 
      20                 :            : #include <sal/types.h>
      21                 :            : 
      22                 :            : #include <stdlib.h> // wntmsci10 does not like <cstdlib>
      23                 :            : 
      24                 :            : #include <cppunit/TestSuite.h>
      25                 :            : #include <cppunit/TestFixture.h>
      26                 :            : #include <cppunit/TestCase.h>
      27                 :            : #include <cppunit/plugin/TestPlugIn.h>
      28                 :            : #include <cppunit/extensions/HelperMacros.h>
      29                 :            : 
      30                 :            : #include "Enum1.hpp"
      31                 :            : #include "Enum2.hpp"
      32                 :            : #include "Exception1.hpp"
      33                 :            : #include "Exception2.hpp"
      34                 :            : #include "Exception2a.hpp"
      35                 :            : #include "Exception2b.hpp"
      36                 :            : #include "Interface1.hpp"
      37                 :            : #include "Interface2.hpp"
      38                 :            : #include "Interface2a.hpp"
      39                 :            : #include "Interface2b.hpp"
      40                 :            : #include "Interface3.hpp"
      41                 :            : #include "Poly.hpp"
      42                 :            : #include "Struct1.hpp"
      43                 :            : #include "Struct2.hpp"
      44                 :            : #include "Struct2a.hpp"
      45                 :            : #include "Struct2b.hpp"
      46                 :            : #include "boost/type_traits/is_same.hpp"
      47                 :            : #include "com/sun/star/uno/Any.hxx"
      48                 :            : #include "com/sun/star/uno/Reference.hxx"
      49                 :            : #include "com/sun/star/uno/RuntimeException.hpp"
      50                 :            : #include "com/sun/star/uno/Sequence.hxx"
      51                 :            : #include "com/sun/star/uno/Type.hxx"
      52                 :            : #include "com/sun/star/uno/XInterface.hpp"
      53                 :            : #include "osl/diagnose.h"
      54                 :            : #include "osl/interlck.h"
      55                 :            : #include "rtl/string.h"
      56                 :            : #include "rtl/ustring.h"
      57                 :            : #include "rtl/ustring.hxx"
      58                 :            : #include "sal/types.h"
      59                 :            : 
      60                 :            : namespace {
      61                 :            : 
      62                 :            : namespace css = com::sun::star;
      63                 :            : 
      64                 :            : class Base {
      65                 :            : public:
      66                 :        145 :     Base(): m_count(0) {}
      67                 :            : 
      68                 :        300 :     void acquire() {
      69         [ -  + ]:        300 :         if (osl_incrementInterlockedCount(&m_count) == SAL_MAX_INT32) {
      70                 :          0 :             abort();
      71                 :            :         }
      72                 :        300 :     }
      73                 :            : 
      74                 :        300 :     void release() {
      75         [ +  + ]:        300 :         if (osl_decrementInterlockedCount(&m_count) == 0) {
      76         [ +  - ]:        145 :             delete this;
      77                 :            :         }
      78                 :        300 :     }
      79                 :            : 
      80                 :            : protected:
      81         [ -  + ]:        145 :     virtual ~Base() {}
      82                 :            : 
      83                 :            : private:
      84                 :            :     Base(Base &); // not declared
      85                 :            :     void operator =(Base &); // not declared
      86                 :            : 
      87                 :            :     oslInterlockedCount m_count;
      88                 :            : };
      89                 :            : 
      90         [ -  + ]:        300 : class Impl1: public Interface1, private Base {
      91                 :            : public:
      92                 :          0 :     virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const & type)
      93                 :            :         throw (css::uno::RuntimeException)
      94                 :            :     {
      95         [ #  # ]:          0 :         if (type
      96                 :          0 :             == getCppuType< css::uno::Reference< css::uno::XInterface > >())
      97                 :            :         {
      98                 :            :             css::uno::Reference< css::uno::XInterface > ref(
      99         [ #  # ]:          0 :                 static_cast< css::uno::XInterface * >(this));
     100                 :          0 :             return css::uno::Any(&ref, type);
     101         [ #  # ]:          0 :         } else if (type == getCppuType< css::uno::Reference< Interface1 > >()) {
     102         [ #  # ]:          0 :             css::uno::Reference< Interface1 > ref(this);
     103                 :          0 :             return css::uno::Any(&ref, type);
     104                 :            :         } else {
     105                 :          0 :             return css::uno::Any();
     106                 :            :         }
     107                 :            :     }
     108                 :            : 
     109                 :        195 :     virtual void SAL_CALL acquire() throw () {
     110                 :        195 :         Base::acquire();
     111                 :        195 :     }
     112                 :            : 
     113                 :        195 :     virtual void SAL_CALL release() throw () {
     114                 :        195 :         Base::release();
     115                 :        195 :     }
     116                 :            : };
     117                 :            : 
     118         [ -  + ]:        105 : class Impl2: public Interface2a, public Interface3, private Base {
     119                 :            : public:
     120                 :         30 :     virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const & type)
     121                 :            :         throw (css::uno::RuntimeException)
     122                 :            :     {
     123         [ +  + ]:         30 :         if (type
     124                 :         30 :             == getCppuType< css::uno::Reference< css::uno::XInterface > >())
     125                 :            :         {
     126                 :            :             css::uno::Reference< css::uno::XInterface > ref(
     127                 :            :                 static_cast< css::uno::XInterface * >(
     128         [ +  - ]:         10 :                     static_cast< Interface2a * >(this)));
     129                 :         10 :             return css::uno::Any(&ref, type);
     130         [ +  + ]:         20 :         } else if (type == getCppuType< css::uno::Reference< Interface2 > >()) {
     131         [ +  - ]:          5 :             css::uno::Reference< Interface2 > ref(this);
     132                 :          5 :             return css::uno::Any(&ref, type);
     133         [ -  + ]:         15 :         } else if (type == getCppuType< css::uno::Reference< Interface2a > >())
     134                 :            :         {
     135         [ #  # ]:          0 :             css::uno::Reference< Interface2a > ref(this);
     136                 :          0 :             return css::uno::Any(&ref, type);
     137         [ +  + ]:         15 :         } else if (type == getCppuType< css::uno::Reference< Interface3 > >()) {
     138         [ +  - ]:          5 :             css::uno::Reference< Interface3 > ref(this);
     139                 :          5 :             return css::uno::Any(&ref, type);
     140                 :            :         } else {
     141                 :         30 :             return css::uno::Any();
     142                 :            :         }
     143                 :            :     }
     144                 :            : 
     145                 :         90 :     virtual void SAL_CALL acquire() throw () {
     146                 :         90 :         Base::acquire();
     147                 :         90 :     }
     148                 :            : 
     149                 :         90 :     virtual void SAL_CALL release() throw () {
     150                 :         90 :         Base::release();
     151                 :         90 :     }
     152                 :            : };
     153                 :            : 
     154         [ -  + ]:         30 : class Impl2b: public Interface2b, private Base {
     155                 :            : public:
     156                 :          0 :     virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const & type)
     157                 :            :         throw (css::uno::RuntimeException)
     158                 :            :     {
     159         [ #  # ]:          0 :         if (type
     160                 :          0 :             == getCppuType< css::uno::Reference< css::uno::XInterface > >())
     161                 :            :         {
     162                 :            :             css::uno::Reference< css::uno::XInterface > ref(
     163                 :            :                 static_cast< css::uno::XInterface * >(
     164         [ #  # ]:          0 :                     static_cast< Interface2a * >(this)));
     165                 :          0 :             return css::uno::Any(&ref, type);
     166         [ #  # ]:          0 :         } else if (type == getCppuType< css::uno::Reference< Interface2 > >()) {
     167         [ #  # ]:          0 :             css::uno::Reference< Interface2 > ref(this);
     168                 :          0 :             return css::uno::Any(&ref, type);
     169         [ #  # ]:          0 :         } else if (type == getCppuType< css::uno::Reference< Interface2a > >())
     170                 :            :         {
     171         [ #  # ]:          0 :             css::uno::Reference< Interface2a > ref(this);
     172                 :          0 :             return css::uno::Any(&ref, type);
     173         [ #  # ]:          0 :         } else if (type == getCppuType< css::uno::Reference< Interface2b > >())
     174                 :            :         {
     175         [ #  # ]:          0 :             css::uno::Reference< Interface2b > ref(this);
     176                 :          0 :             return css::uno::Any(&ref, type);
     177                 :            :         } else {
     178                 :          0 :             return css::uno::Any();
     179                 :            :         }
     180                 :            :     }
     181                 :            : 
     182                 :         15 :     virtual void SAL_CALL acquire() throw () {
     183                 :         15 :         Base::acquire();
     184                 :         15 :     }
     185                 :            : 
     186                 :         15 :     virtual void SAL_CALL release() throw () {
     187                 :         15 :         Base::release();
     188                 :         15 :     }
     189                 :            : };
     190                 :            : 
     191         [ -  + ]:        315 : class Test: public CppUnit::TestFixture {
     192                 :            : public:
     193                 :            :     void testVoid();
     194                 :            :     void testBoolean();
     195                 :            :     void testByte();
     196                 :            :     void testShort();
     197                 :            :     void testUnsignedShort();
     198                 :            :     void testLong();
     199                 :            :     void testUnsignedLong();
     200                 :            :     void testHyper();
     201                 :            :     void testUnsignedHyper();
     202                 :            :     void testFloat();
     203                 :            :     void testDouble();
     204                 :            :     void testChar();
     205                 :            :     void testString();
     206                 :            :     void testType();
     207                 :            :     void testSequence();
     208                 :            :     void testEnum();
     209                 :            :     void testStruct();
     210                 :            :     void testPoly();
     211                 :            :     void testException();
     212                 :            :     void testInterface();
     213                 :            :     void testNull();
     214                 :            : 
     215 [ +  - ][ +  - ]:         10 :     CPPUNIT_TEST_SUITE(Test);
         [ +  - ][ +  - ]
                 [ #  # ]
     216 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testVoid);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     217 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testBoolean);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     218 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testByte);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     219 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testShort);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     220 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testUnsignedShort);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     221 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testLong);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     222 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testUnsignedLong);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     223 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testHyper);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     224 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testUnsignedHyper);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     225 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testFloat);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     226 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testDouble);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     227 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testChar);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     228 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testString);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     229 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testType);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     230 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testSequence);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     231 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testEnum);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     232 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testStruct);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     233 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testPoly);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     234 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testException);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     235 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testInterface);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     236 [ +  - ][ +  - ]:          5 :     CPPUNIT_TEST(testNull);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     237 [ +  - ][ +  - ]:         10 :     CPPUNIT_TEST_SUITE_END();
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     238                 :            : };
     239                 :            : 
     240                 :          5 : void Test::testVoid() {
     241                 :          5 :     css::uno::Any a;
     242 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getVoidCppuType());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     243                 :            :     {
     244                 :          5 :         bool b = true;
     245 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     246                 :            :     }
     247                 :            :     {
     248                 :          5 :         sal_Bool b = true;
     249 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     250                 :            :     }
     251                 :            :     {
     252                 :          5 :         sal_Int8 b = 2;
     253 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     254                 :            :     }
     255                 :            :     {
     256                 :          5 :         sal_uInt8 b = 2;
     257 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     258                 :            :     }
     259                 :            :     {
     260                 :          5 :         sal_Int16 b = 2;
     261 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     262                 :            :     }
     263                 :            :     {
     264                 :          5 :         sal_uInt16 b = 2;
     265 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     266                 :            :     }
     267                 :            :     {
     268                 :          5 :         sal_Int32 b = 2;
     269 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     270                 :            :     }
     271                 :            :     {
     272                 :          5 :         sal_uInt32 b = 2;
     273 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     274                 :            :     }
     275                 :            :     {
     276                 :          5 :         sal_Int64 b = 2;
     277 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     278                 :            :     }
     279                 :            :     {
     280                 :          5 :         sal_uInt64 b = 2;
     281 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     282                 :            :     }
     283                 :            :     {
     284                 :          5 :         float b = 2;
     285 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     286                 :            :     }
     287                 :            :     {
     288                 :          5 :         double b = 2;
     289 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     290                 :            :     }
     291                 :            :     {
     292                 :          5 :         sal_Unicode b = '2';
     293 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     294                 :            :     }
     295                 :            :     {
     296         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     297 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     298                 :            :     }
     299                 :            :     {
     300                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     301 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     302                 :            :             "css::uno::Type",
     303         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     304                 :            :     }
     305                 :            :     {
     306 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     307 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     308                 :            :     }
     309                 :            :     {
     310         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     311 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     312   [ +  -  +  - ]:         10 :             "css::uno::Sequence<rtl::OUString>", !(a >>= b) && b.getLength() == 2);
     313                 :            :     }
     314                 :            :     {
     315                 :          5 :         Enum1 b = Enum1_M2;
     316 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     317                 :            :     }
     318                 :            :     {
     319                 :          5 :         Struct1 b(2);
     320 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     321                 :            :     }
     322                 :            :     {
     323                 :            :         Exception1 b(
     324         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
     325 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     326                 :            :     }
     327                 :            :     {
     328 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
     329                 :          5 :         css::uno::Reference< Interface1 > b(i);
     330 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     331                 :          5 :     }
     332                 :          5 : }
     333                 :            : 
     334                 :          5 : void Test::testBoolean() {
     335         [ +  - ]:          5 :     css::uno::Any a(false);
     336 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_Bool >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     337                 :            :     {
     338                 :          5 :         bool b = true;
     339 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", (a >>= b) && !b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     340                 :            :     }
     341                 :            :     {
     342                 :          5 :         sal_Bool b = true;
     343 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", (a >>= b) && !b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     344                 :            :     }
     345                 :            :     {
     346                 :          5 :         sal_Int8 b = 2;
     347 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     348                 :            :     }
     349                 :            :     {
     350                 :          5 :         sal_uInt8 b = 2;
     351                 :            :         if (boost::is_same< sal_uInt8, sal_Bool >::value) {
     352 [ +  - ][ +  - ]:          5 :             CPPUNIT_ASSERT_MESSAGE("@sal_uInt8", (a >>= b) && b == 0);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     353                 :            :         } else {
     354                 :            :             CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
     355                 :            :         }
     356                 :            :     }
     357                 :            :     {
     358                 :          5 :         sal_Int16 b = 2;
     359 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     360                 :            :     }
     361                 :            :     {
     362                 :          5 :         sal_uInt16 b = 2;
     363 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     364                 :            :     }
     365                 :            :     {
     366                 :          5 :         sal_Int32 b = 2;
     367 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     368                 :            :     }
     369                 :            :     {
     370                 :          5 :         sal_uInt32 b = 2;
     371 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     372                 :            :     }
     373                 :            :     {
     374                 :          5 :         sal_Int64 b = 2;
     375 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     376                 :            :     }
     377                 :            :     {
     378                 :          5 :         sal_uInt64 b = 2;
     379 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     380                 :            :     }
     381                 :            :     {
     382                 :          5 :         float b = 2;
     383 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     384                 :            :     }
     385                 :            :     {
     386                 :          5 :         double b = 2;
     387 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     388                 :            :     }
     389                 :            :     {
     390                 :          5 :         sal_Unicode b = '2';
     391 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     392                 :            :     }
     393                 :            :     {
     394         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     395 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     396                 :            :     }
     397                 :            :     {
     398                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     399 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     400                 :            :             "css::uno::Type",
     401         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     402                 :            :     }
     403                 :            :     {
     404 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     405 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     406                 :            :     }
     407                 :            :     {
     408         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     409 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     410                 :            :             "css::uno::Sequence<rtl::OUString>",
     411   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
     412                 :            :     }
     413                 :            :     {
     414                 :          5 :         Enum1 b = Enum1_M2;
     415 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     416                 :            :     }
     417                 :            :     {
     418                 :          5 :         Struct1 b(2);
     419 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     420                 :            :     }
     421                 :            :     {
     422                 :            :         Exception1 b(
     423         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
     424 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     425                 :            :     }
     426                 :            :     {
     427 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
     428                 :          5 :         css::uno::Reference< Interface1 > b(i);
     429 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     430                 :          5 :     }
     431                 :          5 : }
     432                 :            : 
     433                 :          5 : void Test::testByte() {
     434         [ +  - ]:          5 :     css::uno::Any a(static_cast< sal_Int8 >(1));
     435 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_Int8 >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     436                 :            :     {
     437                 :          5 :         bool b = true;
     438 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     439                 :            :     }
     440                 :            :     {
     441                 :          5 :         sal_Bool b = true;
     442 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     443                 :            :     }
     444                 :            :     {
     445                 :          5 :         sal_Int8 b = 2;
     446 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     447                 :            :     }
     448                 :            :     {
     449                 :          5 :         sal_uInt8 b = 2;
     450 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     451                 :            :     }
     452                 :            :     {
     453                 :          5 :         sal_Int16 b = 2;
     454 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     455                 :            :     }
     456                 :            :     {
     457                 :          5 :         sal_uInt16 b = 2;
     458 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     459                 :            :     }
     460                 :            :     {
     461                 :          5 :         sal_Int32 b = 2;
     462 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     463                 :            :     }
     464                 :            :     {
     465                 :          5 :         sal_uInt32 b = 2;
     466 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     467                 :            :     }
     468                 :            :     {
     469                 :          5 :         sal_Int64 b = 2;
     470 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     471                 :            :     }
     472                 :            :     {
     473                 :          5 :         sal_uInt64 b = 2;
     474 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     475                 :            :     }
     476                 :            :     {
     477                 :          5 :         float b = 2;
     478 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     479                 :            :     }
     480                 :            :     {
     481                 :          5 :         double b = 2;
     482 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     483                 :            :     }
     484                 :            :     {
     485                 :          5 :         sal_Unicode b = '2';
     486                 :            :         if (boost::is_same< sal_Unicode, sal_uInt16 >::value) {
     487 [ +  - ][ +  - ]:          5 :             CPPUNIT_ASSERT_MESSAGE("@sal_Unicode", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     488                 :            :         } else {
     489                 :            :             CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
     490                 :            :         }
     491                 :            :     }
     492                 :            :     {
     493         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     494 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     495                 :            :     }
     496                 :            :     {
     497                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     498 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     499                 :            :             "css::uno::Type",
     500         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     501                 :            :     }
     502                 :            :     {
     503 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     504 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     505                 :            :     }
     506                 :            :     {
     507         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     508 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     509                 :            :             "css::uno::Sequence<rtl::OUString>",
     510   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
     511                 :            :     }
     512                 :            :     {
     513                 :          5 :         Enum1 b = Enum1_M2;
     514 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     515                 :            :     }
     516                 :            :     {
     517                 :          5 :         Struct1 b(2);
     518 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     519                 :            :     }
     520                 :            :     {
     521                 :            :         Exception1 b(
     522         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
     523 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     524                 :            :     }
     525                 :            :     {
     526 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
     527                 :          5 :         css::uno::Reference< Interface1 > b(i);
     528 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     529                 :          5 :     }
     530                 :          5 : }
     531                 :            : 
     532                 :          5 : void Test::testShort() {
     533         [ +  - ]:          5 :     css::uno::Any a(static_cast< sal_Int16 >(1));
     534 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_Int16 >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     535                 :            :     {
     536                 :          5 :         bool b = true;
     537 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     538                 :            :     }
     539                 :            :     {
     540                 :          5 :         sal_Bool b = true;
     541 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     542                 :            :     }
     543                 :            :     {
     544                 :          5 :         sal_Int8 b = 2;
     545 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     546                 :            :     }
     547                 :            :     {
     548                 :          5 :         sal_uInt8 b = 2;
     549 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     550                 :            :     }
     551                 :            :     {
     552                 :          5 :         sal_Int16 b = 2;
     553 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     554                 :            :     }
     555                 :            :     {
     556                 :          5 :         sal_uInt16 b = 2;
     557 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     558                 :            :     }
     559                 :            :     {
     560                 :          5 :         sal_Int32 b = 2;
     561 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     562                 :            :     }
     563                 :            :     {
     564                 :          5 :         sal_uInt32 b = 2;
     565 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     566                 :            :     }
     567                 :            :     {
     568                 :          5 :         sal_Int64 b = 2;
     569 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     570                 :            :     }
     571                 :            :     {
     572                 :          5 :         sal_uInt64 b = 2;
     573 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     574                 :            :     }
     575                 :            :     {
     576                 :          5 :         float b = 2;
     577 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     578                 :            :     }
     579                 :            :     {
     580                 :          5 :         double b = 2;
     581 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     582                 :            :     }
     583                 :            :     {
     584                 :          5 :         sal_Unicode b = '2';
     585                 :            :         if (boost::is_same< sal_Unicode, sal_uInt16 >::value) {
     586 [ +  - ][ +  - ]:          5 :             CPPUNIT_ASSERT_MESSAGE("@sal_Unicode", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     587                 :            :         } else {
     588                 :            :             CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
     589                 :            :         }
     590                 :            :     }
     591                 :            :     {
     592         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     593 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     594                 :            :     }
     595                 :            :     {
     596                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     597 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     598                 :            :             "css::uno::Type",
     599         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     600                 :            :     }
     601                 :            :     {
     602 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     603 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     604                 :            :     }
     605                 :            :     {
     606         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     607 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     608                 :            :             "css::uno::Sequence<rtl::OUString>",
     609   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
     610                 :            :     }
     611                 :            :     {
     612                 :          5 :         Enum1 b = Enum1_M2;
     613 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     614                 :            :     }
     615                 :            :     {
     616                 :          5 :         Struct1 b(2);
     617 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     618                 :            :     }
     619                 :            :     {
     620                 :            :         Exception1 b(
     621         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
     622 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     623                 :            :     }
     624                 :            :     {
     625 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
     626                 :          5 :         css::uno::Reference< Interface1 > b(i);
     627 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     628                 :          5 :     }
     629                 :          5 : }
     630                 :            : 
     631                 :          5 : void Test::testUnsignedShort() {
     632                 :          5 :     sal_uInt16 n = 1;
     633         [ +  - ]:          5 :     css::uno::Any a(&n, getCppuType(static_cast< sal_uInt16 const * >(0)));
     634 [ +  - ][ +  - ]:         10 :     CPPUNIT_ASSERT(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     635         [ +  - ]:          5 :         a.getValueType() == getCppuType(static_cast< sal_uInt16 const * >(0)));
     636                 :            :     {
     637                 :          5 :         bool b = true;
     638 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     639                 :            :     }
     640                 :            :     {
     641                 :          5 :         sal_Bool b = true;
     642 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     643                 :            :     }
     644                 :            :     {
     645                 :          5 :         sal_Int8 b = 2;
     646 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     647                 :            :     }
     648                 :            :     {
     649                 :          5 :         sal_uInt8 b = 2;
     650 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     651                 :            :     }
     652                 :            :     {
     653                 :          5 :         sal_Int16 b = 2;
     654 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     655                 :            :     }
     656                 :            :     {
     657                 :          5 :         sal_uInt16 b = 2;
     658 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     659                 :            :     }
     660                 :            :     {
     661                 :          5 :         sal_Int32 b = 2;
     662 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     663                 :            :     }
     664                 :            :     {
     665                 :          5 :         sal_uInt32 b = 2;
     666 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     667                 :            :     }
     668                 :            :     {
     669                 :          5 :         sal_Int64 b = 2;
     670 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     671                 :            :     }
     672                 :            :     {
     673                 :          5 :         sal_uInt64 b = 2;
     674 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     675                 :            :     }
     676                 :            :     {
     677                 :          5 :         float b = 2;
     678 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     679                 :            :     }
     680                 :            :     {
     681                 :          5 :         double b = 2;
     682 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     683                 :            :     }
     684                 :            :     {
     685                 :          5 :         sal_Unicode b = '2';
     686                 :            :         if (boost::is_same< sal_Unicode, sal_uInt16 >::value) {
     687 [ +  - ][ +  - ]:          5 :             CPPUNIT_ASSERT_MESSAGE("@sal_Unicode", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     688                 :            :         } else {
     689                 :            :             CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
     690                 :            :         }
     691                 :            :     }
     692                 :            :     {
     693         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     694 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     695                 :            :     }
     696                 :            :     {
     697                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     698 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     699                 :            :             "css::uno::Type",
     700         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     701                 :            :     }
     702                 :            :     {
     703 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     704 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     705                 :            :     }
     706                 :            :     {
     707         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     708 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     709                 :            :             "css::uno::Sequence<rtl::OUString>",
     710   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
     711                 :            :     }
     712                 :            :     {
     713                 :          5 :         Enum1 b = Enum1_M2;
     714 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     715                 :            :     }
     716                 :            :     {
     717                 :          5 :         Struct1 b(2);
     718 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     719                 :            :     }
     720                 :            :     {
     721                 :            :         Exception1 b(
     722         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
     723 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     724                 :            :     }
     725                 :            :     {
     726 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
     727                 :          5 :         css::uno::Reference< Interface1 > b(i);
     728 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     729                 :          5 :     }
     730                 :          5 : }
     731                 :            : 
     732                 :          5 : void Test::testLong() {
     733         [ +  - ]:          5 :     css::uno::Any a(static_cast< sal_Int32 >(1));
     734 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_Int32 >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     735                 :            :     {
     736                 :          5 :         bool b = true;
     737 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     738                 :            :     }
     739                 :            :     {
     740                 :          5 :         sal_Bool b = true;
     741 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     742                 :            :     }
     743                 :            :     {
     744                 :          5 :         sal_Int8 b = 2;
     745 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     746                 :            :     }
     747                 :            :     {
     748                 :          5 :         sal_uInt8 b = 2;
     749 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     750                 :            :     }
     751                 :            :     {
     752                 :          5 :         sal_Int16 b = 2;
     753 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     754                 :            :     }
     755                 :            :     {
     756                 :          5 :         sal_uInt16 b = 2;
     757 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     758                 :            :     }
     759                 :            :     {
     760                 :          5 :         sal_Int32 b = 2;
     761 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     762                 :            :     }
     763                 :            :     {
     764                 :          5 :         sal_uInt32 b = 2;
     765 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     766                 :            :     }
     767                 :            :     {
     768                 :          5 :         sal_Int64 b = 2;
     769 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     770                 :            :     }
     771                 :            :     {
     772                 :          5 :         sal_uInt64 b = 2;
     773 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     774                 :            :     }
     775                 :            :     {
     776                 :          5 :         float b = 2;
     777 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     778                 :            :     }
     779                 :            :     {
     780                 :          5 :         double b = 2;
     781 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     782                 :            :     }
     783                 :            :     {
     784                 :          5 :         sal_Unicode b = '2';
     785 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     786                 :            :     }
     787                 :            :     {
     788         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     789 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     790                 :            :     }
     791                 :            :     {
     792                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     793 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     794                 :            :             "css::uno::Type",
     795         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     796                 :            :     }
     797                 :            :     {
     798 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     799 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     800                 :            :     }
     801                 :            :     {
     802         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     803 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     804                 :            :             "css::uno::Sequence<rtl::OUString>",
     805   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
     806                 :            :     }
     807                 :            :     {
     808                 :          5 :         Enum1 b = Enum1_M2;
     809 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     810                 :            :     }
     811                 :            :     {
     812                 :          5 :         Struct1 b(2);
     813 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     814                 :            :     }
     815                 :            :     {
     816                 :            :         Exception1 b(
     817         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
     818 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     819                 :            :     }
     820                 :            :     {
     821 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
     822                 :          5 :         css::uno::Reference< Interface1 > b(i);
     823 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     824                 :          5 :     }
     825                 :          5 : }
     826                 :            : 
     827                 :          5 : void Test::testUnsignedLong() {
     828         [ +  - ]:          5 :     css::uno::Any a(static_cast< sal_uInt32 >(1));
     829 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_uInt32 >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     830                 :            :     {
     831                 :          5 :         bool b = true;
     832 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     833                 :            :     }
     834                 :            :     {
     835                 :          5 :         sal_Bool b = true;
     836 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     837                 :            :     }
     838                 :            :     {
     839                 :          5 :         sal_Int8 b = 2;
     840 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     841                 :            :     }
     842                 :            :     {
     843                 :          5 :         sal_uInt8 b = 2;
     844 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     845                 :            :     }
     846                 :            :     {
     847                 :          5 :         sal_Int16 b = 2;
     848 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     849                 :            :     }
     850                 :            :     {
     851                 :          5 :         sal_uInt16 b = 2;
     852 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     853                 :            :     }
     854                 :            :     {
     855                 :          5 :         sal_Int32 b = 2;
     856 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     857                 :            :     }
     858                 :            :     {
     859                 :          5 :         sal_uInt32 b = 2;
     860 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     861                 :            :     }
     862                 :            :     {
     863                 :          5 :         sal_Int64 b = 2;
     864 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     865                 :            :     }
     866                 :            :     {
     867                 :          5 :         sal_uInt64 b = 2;
     868 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     869                 :            :     }
     870                 :            :     {
     871                 :          5 :         float b = 2;
     872 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     873                 :            :     }
     874                 :            :     {
     875                 :          5 :         double b = 2;
     876 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     877                 :            :     }
     878                 :            :     {
     879                 :          5 :         sal_Unicode b = '2';
     880 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     881                 :            :     }
     882                 :            :     {
     883         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     884 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     885                 :            :     }
     886                 :            :     {
     887                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     888 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     889                 :            :             "css::uno::Type",
     890         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     891                 :            :     }
     892                 :            :     {
     893 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     894 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     895                 :            :     }
     896                 :            :     {
     897         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     898 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     899                 :            :             "css::uno::Sequence<rtl::OUString>",
     900   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
     901                 :            :     }
     902                 :            :     {
     903                 :          5 :         Enum1 b = Enum1_M2;
     904 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     905                 :            :     }
     906                 :            :     {
     907                 :          5 :         Struct1 b(2);
     908 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     909                 :            :     }
     910                 :            :     {
     911                 :            :         Exception1 b(
     912         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
     913 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     914                 :            :     }
     915                 :            :     {
     916 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
     917                 :          5 :         css::uno::Reference< Interface1 > b(i);
     918 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     919                 :          5 :     }
     920                 :          5 : }
     921                 :            : 
     922                 :          5 : void Test::testHyper() {
     923         [ +  - ]:          5 :     css::uno::Any a(static_cast< sal_Int64 >(1));
     924 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_Int64 >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
     925                 :            :     {
     926                 :          5 :         bool b = true;
     927 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     928                 :            :     }
     929                 :            :     {
     930                 :          5 :         sal_Bool b = true;
     931 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     932                 :            :     }
     933                 :            :     {
     934                 :          5 :         sal_Int8 b = 2;
     935 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     936                 :            :     }
     937                 :            :     {
     938                 :          5 :         sal_uInt8 b = 2;
     939 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     940                 :            :     }
     941                 :            :     {
     942                 :          5 :         sal_Int16 b = 2;
     943 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     944                 :            :     }
     945                 :            :     {
     946                 :          5 :         sal_uInt16 b = 2;
     947 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     948                 :            :     }
     949                 :            :     {
     950                 :          5 :         sal_Int32 b = 2;
     951 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     952                 :            :     }
     953                 :            :     {
     954                 :          5 :         sal_uInt32 b = 2;
     955 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     956                 :            :     }
     957                 :            :     {
     958                 :          5 :         sal_Int64 b = 2;
     959 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     960                 :            :     }
     961                 :            :     {
     962                 :          5 :         sal_uInt64 b = 2;
     963 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     964                 :            :     }
     965                 :            :     {
     966                 :          5 :         float b = 2;
     967 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     968                 :            :     }
     969                 :            :     {
     970                 :          5 :         double b = 2;
     971 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     972                 :            :     }
     973                 :            :     {
     974                 :          5 :         sal_Unicode b = '2';
     975 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     976                 :            :     }
     977                 :            :     {
     978         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
     979 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
     980                 :            :     }
     981                 :            :     {
     982                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
     983 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
     984                 :            :             "css::uno::Type",
     985         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
     986                 :            :     }
     987                 :            :     {
     988 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
     989 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
     990                 :            :     }
     991                 :            :     {
     992         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
     993 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
     994                 :            :             "css::uno::Sequence<rtl::OUString>",
     995   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
     996                 :            :     }
     997                 :            :     {
     998                 :          5 :         Enum1 b = Enum1_M2;
     999 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1000                 :            :     }
    1001                 :            :     {
    1002                 :          5 :         Struct1 b(2);
    1003 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1004                 :            :     }
    1005                 :            :     {
    1006                 :            :         Exception1 b(
    1007         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1008 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1009                 :            :     }
    1010                 :            :     {
    1011 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1012                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1013 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1014                 :          5 :     }
    1015                 :          5 : }
    1016                 :            : 
    1017                 :          5 : void Test::testUnsignedHyper() {
    1018         [ +  - ]:          5 :     css::uno::Any a(static_cast< sal_uInt64 >(1));
    1019 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_uInt64 >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1020                 :            :     {
    1021                 :          5 :         bool b = true;
    1022 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1023                 :            :     }
    1024                 :            :     {
    1025                 :          5 :         sal_Bool b = true;
    1026 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1027                 :            :     }
    1028                 :            :     {
    1029                 :          5 :         sal_Int8 b = 2;
    1030 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1031                 :            :     }
    1032                 :            :     {
    1033                 :          5 :         sal_uInt8 b = 2;
    1034 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1035                 :            :     }
    1036                 :            :     {
    1037                 :          5 :         sal_Int16 b = 2;
    1038 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1039                 :            :     }
    1040                 :            :     {
    1041                 :          5 :         sal_uInt16 b = 2;
    1042 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1043                 :            :     }
    1044                 :            :     {
    1045                 :          5 :         sal_Int32 b = 2;
    1046 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1047                 :            :     }
    1048                 :            :     {
    1049                 :          5 :         sal_uInt32 b = 2;
    1050 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1051                 :            :     }
    1052                 :            :     {
    1053                 :          5 :         sal_Int64 b = 2;
    1054 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1055                 :            :     }
    1056                 :            :     {
    1057                 :          5 :         sal_uInt64 b = 2;
    1058 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1059                 :            :     }
    1060                 :            :     {
    1061                 :          5 :         float b = 2;
    1062 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1063                 :            :     }
    1064                 :            :     {
    1065                 :          5 :         double b = 2;
    1066 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1067                 :            :     }
    1068                 :            :     {
    1069                 :          5 :         sal_Unicode b = '2';
    1070 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1071                 :            :     }
    1072                 :            :     {
    1073         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1074 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1075                 :            :     }
    1076                 :            :     {
    1077                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1078 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1079                 :            :             "css::uno::Type",
    1080         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1081                 :            :     }
    1082                 :            :     {
    1083 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1084 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1085                 :            :     }
    1086                 :            :     {
    1087         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1088 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1089                 :            :             "css::uno::Sequence<rtl::OUString>",
    1090   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1091                 :            :     }
    1092                 :            :     {
    1093                 :          5 :         Enum1 b = Enum1_M2;
    1094 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1095                 :            :     }
    1096                 :            :     {
    1097                 :          5 :         Struct1 b(2);
    1098 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1099                 :            :     }
    1100                 :            :     {
    1101                 :            :         Exception1 b(
    1102         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1103 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1104                 :            :     }
    1105                 :            :     {
    1106 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1107                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1108 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1109                 :          5 :     }
    1110                 :          5 : }
    1111                 :            : 
    1112                 :          5 : void Test::testFloat() {
    1113         [ +  - ]:          5 :     css::uno::Any a(1.f);
    1114 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< float >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1115                 :            :     {
    1116                 :          5 :         bool b = true;
    1117 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1118                 :            :     }
    1119                 :            :     {
    1120                 :          5 :         sal_Bool b = true;
    1121 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1122                 :            :     }
    1123                 :            :     {
    1124                 :          5 :         sal_Int8 b = 2;
    1125 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1126                 :            :     }
    1127                 :            :     {
    1128                 :          5 :         sal_uInt8 b = 2;
    1129 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1130                 :            :     }
    1131                 :            :     {
    1132                 :          5 :         sal_Int16 b = 2;
    1133 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1134                 :            :     }
    1135                 :            :     {
    1136                 :          5 :         sal_uInt16 b = 2;
    1137 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1138                 :            :     }
    1139                 :            :     {
    1140                 :          5 :         sal_Int32 b = 2;
    1141 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1142                 :            :     }
    1143                 :            :     {
    1144                 :          5 :         sal_uInt32 b = 2;
    1145 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1146                 :            :     }
    1147                 :            :     {
    1148                 :          5 :         sal_Int64 b = 2;
    1149 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1150                 :            :     }
    1151                 :            :     {
    1152                 :          5 :         sal_uInt64 b = 2;
    1153 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1154                 :            :     }
    1155                 :            :     {
    1156                 :          5 :         float b = 2;
    1157 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1158                 :            :     }
    1159                 :            :     {
    1160                 :          5 :         double b = 2;
    1161 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1162                 :            :     }
    1163                 :            :     {
    1164                 :          5 :         sal_Unicode b = '2';
    1165 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1166                 :            :     }
    1167                 :            :     {
    1168         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1169 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1170                 :            :     }
    1171                 :            :     {
    1172                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1173 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1174                 :            :             "css::uno::Type",
    1175         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1176                 :            :     }
    1177                 :            :     {
    1178 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1179 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1180                 :            :     }
    1181                 :            :     {
    1182         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1183 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1184                 :            :             "css::uno::Sequence<rtl::OUString>",
    1185   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1186                 :            :     }
    1187                 :            :     {
    1188                 :          5 :         Enum1 b = Enum1_M2;
    1189 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1190                 :            :     }
    1191                 :            :     {
    1192                 :          5 :         Struct1 b(2);
    1193 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1194                 :            :     }
    1195                 :            :     {
    1196                 :            :         Exception1 b(
    1197         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1198 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1199                 :            :     }
    1200                 :            :     {
    1201 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1202                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1203 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1204                 :          5 :     }
    1205                 :          5 : }
    1206                 :            : 
    1207                 :          5 : void Test::testDouble() {
    1208         [ +  - ]:          5 :     css::uno::Any a(1.);
    1209 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< double >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1210                 :            :     {
    1211                 :          5 :         bool b = true;
    1212 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1213                 :            :     }
    1214                 :            :     {
    1215                 :          5 :         sal_Bool b = true;
    1216 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1217                 :            :     }
    1218                 :            :     {
    1219                 :          5 :         sal_Int8 b = 2;
    1220 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1221                 :            :     }
    1222                 :            :     {
    1223                 :          5 :         sal_uInt8 b = 2;
    1224 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1225                 :            :     }
    1226                 :            :     {
    1227                 :          5 :         sal_Int16 b = 2;
    1228 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1229                 :            :     }
    1230                 :            :     {
    1231                 :          5 :         sal_uInt16 b = 2;
    1232 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1233                 :            :     }
    1234                 :            :     {
    1235                 :          5 :         sal_Int32 b = 2;
    1236 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1237                 :            :     }
    1238                 :            :     {
    1239                 :          5 :         sal_uInt32 b = 2;
    1240 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1241                 :            :     }
    1242                 :            :     {
    1243                 :          5 :         sal_Int64 b = 2;
    1244 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1245                 :            :     }
    1246                 :            :     {
    1247                 :          5 :         sal_uInt64 b = 2;
    1248 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1249                 :            :     }
    1250                 :            :     {
    1251                 :          5 :         float b = 2;
    1252 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1253                 :            :     }
    1254                 :            :     {
    1255                 :          5 :         double b = 2;
    1256 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", (a >>= b) && b == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1257                 :            :     }
    1258                 :            :     {
    1259                 :          5 :         sal_Unicode b = '2';
    1260 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1261                 :            :     }
    1262                 :            :     {
    1263         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1264 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1265                 :            :     }
    1266                 :            :     {
    1267                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1268 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1269                 :            :             "css::uno::Type",
    1270         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1271                 :            :     }
    1272                 :            :     {
    1273 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1274 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1275                 :            :     }
    1276                 :            :     {
    1277         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1278 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1279                 :            :             "css::uno::Sequence<rtl::OUString>",
    1280   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1281                 :            :     }
    1282                 :            :     {
    1283                 :          5 :         Enum1 b = Enum1_M2;
    1284 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1285                 :            :     }
    1286                 :            :     {
    1287                 :          5 :         Struct1 b(2);
    1288 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1289                 :            :     }
    1290                 :            :     {
    1291                 :            :         Exception1 b(
    1292         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1293 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1294                 :            :     }
    1295                 :            :     {
    1296 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1297                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1298 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1299                 :          5 :     }
    1300                 :          5 : }
    1301                 :            : 
    1302                 :          5 : void Test::testChar() {
    1303                 :          5 :     sal_Unicode c = '1';
    1304         [ +  - ]:          5 :     css::uno::Any a(&c, getCppuType< sal_Unicode >());
    1305 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< sal_Unicode >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1306                 :            :     {
    1307                 :          5 :         bool b = true;
    1308 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1309                 :            :     }
    1310                 :            :     {
    1311                 :          5 :         sal_Bool b = true;
    1312 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1313                 :            :     }
    1314                 :            :     {
    1315                 :          5 :         sal_Int8 b = 2;
    1316 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1317                 :            :     }
    1318                 :            :     {
    1319                 :          5 :         sal_uInt8 b = 2;
    1320 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1321                 :            :     }
    1322                 :            :     {
    1323                 :          5 :         sal_Int16 b = 2;
    1324 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1325                 :            :     }
    1326                 :            :     {
    1327                 :          5 :         sal_uInt16 b = 2;
    1328 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1329                 :            :     }
    1330                 :            :     {
    1331                 :          5 :         sal_Int32 b = 2;
    1332 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1333                 :            :     }
    1334                 :            :     {
    1335                 :          5 :         sal_uInt32 b = 2;
    1336 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1337                 :            :     }
    1338                 :            :     {
    1339                 :          5 :         sal_Int64 b = 2;
    1340 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1341                 :            :     }
    1342                 :            :     {
    1343                 :          5 :         sal_uInt64 b = 2;
    1344 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1345                 :            :     }
    1346                 :            :     {
    1347                 :          5 :         float b = 2;
    1348 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1349                 :            :     }
    1350                 :            :     {
    1351                 :          5 :         double b = 2;
    1352 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1353                 :            :     }
    1354                 :            :     {
    1355                 :          5 :         sal_Unicode b = '2';
    1356                 :            :         if (boost::is_same< sal_Unicode, sal_uInt16 >::value) {
    1357 [ +  - ][ +  - ]:          5 :             CPPUNIT_ASSERT_MESSAGE("@sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1358                 :            :         } else {
    1359                 :            :             CPPUNIT_ASSERT_MESSAGE("sal_Unicode", (a >>= b) && b == '1');
    1360                 :            :         }
    1361                 :            :     }
    1362                 :            :     {
    1363         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1364 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1365                 :            :     }
    1366                 :            :     {
    1367                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1368 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1369                 :            :             "css::uno::Type",
    1370         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1371                 :            :     }
    1372                 :            :     {
    1373 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1374 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1375                 :            :     }
    1376                 :            :     {
    1377         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1378 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1379                 :            :             "css::uno::Sequence<rtl::OUString>",
    1380   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1381                 :            :     }
    1382                 :            :     {
    1383                 :          5 :         Enum1 b = Enum1_M2;
    1384 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1385                 :            :     }
    1386                 :            :     {
    1387                 :          5 :         Struct1 b(2);
    1388 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1389                 :            :     }
    1390                 :            :     {
    1391                 :            :         Exception1 b(
    1392         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1393 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1394                 :            :     }
    1395                 :            :     {
    1396 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1397                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1398 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1399                 :          5 :     }
    1400                 :          5 : }
    1401                 :            : 
    1402                 :          5 : void Test::testString() {
    1403 [ +  - ][ +  - ]:          5 :     css::uno::Any a(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("1")));
    1404 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< rtl::OUString >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1405                 :            :     {
    1406                 :          5 :         bool b = true;
    1407 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1408                 :            :     }
    1409                 :            :     {
    1410                 :          5 :         sal_Bool b = true;
    1411 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1412                 :            :     }
    1413                 :            :     {
    1414                 :          5 :         sal_Int8 b = 2;
    1415 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1416                 :            :     }
    1417                 :            :     {
    1418                 :          5 :         sal_uInt8 b = 2;
    1419 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1420                 :            :     }
    1421                 :            :     {
    1422                 :          5 :         sal_Int16 b = 2;
    1423 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1424                 :            :     }
    1425                 :            :     {
    1426                 :          5 :         sal_uInt16 b = 2;
    1427 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1428                 :            :     }
    1429                 :            :     {
    1430                 :          5 :         sal_Int32 b = 2;
    1431 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1432                 :            :     }
    1433                 :            :     {
    1434                 :          5 :         sal_uInt32 b = 2;
    1435 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1436                 :            :     }
    1437                 :            :     {
    1438                 :          5 :         sal_Int64 b = 2;
    1439 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1440                 :            :     }
    1441                 :            :     {
    1442                 :          5 :         sal_uInt64 b = 2;
    1443 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1444                 :            :     }
    1445                 :            :     {
    1446                 :          5 :         float b = 2;
    1447 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1448                 :            :     }
    1449                 :            :     {
    1450                 :          5 :         double b = 2;
    1451 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1452                 :            :     }
    1453                 :            :     {
    1454                 :          5 :         sal_Unicode b = '2';
    1455 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1456                 :            :     }
    1457                 :            :     {
    1458         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1459 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", (a >>= b) && b == "1" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1460                 :            :     }
    1461                 :            :     {
    1462                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1463 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1464                 :            :             "css::uno::Type",
    1465         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1466                 :            :     }
    1467                 :            :     {
    1468 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1469 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1470                 :            :     }
    1471                 :            :     {
    1472         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1473 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1474                 :            :             "css::uno::Sequence<rtl::OUString>",
    1475   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1476                 :            :     }
    1477                 :            :     {
    1478                 :          5 :         Enum1 b = Enum1_M2;
    1479 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1480                 :            :     }
    1481                 :            :     {
    1482                 :          5 :         Struct1 b(2);
    1483 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1484                 :            :     }
    1485                 :            :     {
    1486                 :            :         Exception1 b(
    1487         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1488 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1489                 :            :     }
    1490                 :            :     {
    1491 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1492                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1493 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1494                 :          5 :     }
    1495                 :          5 : }
    1496                 :            : 
    1497                 :          5 : void Test::testType() {
    1498         [ +  - ]:          5 :     css::uno::Any a(getCppuType< sal_Int32 >());
    1499 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< css::uno::Type >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1500                 :            :     {
    1501                 :          5 :         bool b = true;
    1502 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1503                 :            :     }
    1504                 :            :     {
    1505                 :          5 :         sal_Bool b = true;
    1506 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1507                 :            :     }
    1508                 :            :     {
    1509                 :          5 :         sal_Int8 b = 2;
    1510 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1511                 :            :     }
    1512                 :            :     {
    1513                 :          5 :         sal_uInt8 b = 2;
    1514 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1515                 :            :     }
    1516                 :            :     {
    1517                 :          5 :         sal_Int16 b = 2;
    1518 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1519                 :            :     }
    1520                 :            :     {
    1521                 :          5 :         sal_uInt16 b = 2;
    1522 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1523                 :            :     }
    1524                 :            :     {
    1525                 :          5 :         sal_Int32 b = 2;
    1526 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1527                 :            :     }
    1528                 :            :     {
    1529                 :          5 :         sal_uInt32 b = 2;
    1530 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1531                 :            :     }
    1532                 :            :     {
    1533                 :          5 :         sal_Int64 b = 2;
    1534 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1535                 :            :     }
    1536                 :            :     {
    1537                 :          5 :         sal_uInt64 b = 2;
    1538 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1539                 :            :     }
    1540                 :            :     {
    1541                 :          5 :         float b = 2;
    1542 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1543                 :            :     }
    1544                 :            :     {
    1545                 :          5 :         double b = 2;
    1546 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1547                 :            :     }
    1548                 :            :     {
    1549                 :          5 :         sal_Unicode b = '2';
    1550 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1551                 :            :     }
    1552                 :            :     {
    1553         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1554 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1555                 :            :     }
    1556                 :            :     {
    1557                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1558 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1559         [ +  - ]:         10 :             "css::uno::Type", (a >>= b) && b == getCppuType< sal_Int32 >());
    1560                 :            :     }
    1561                 :            :     {
    1562 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1563 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1564                 :            :     }
    1565                 :            :     {
    1566         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1567 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1568                 :            :             "css::uno::Sequence<rtl::OUString>",
    1569   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1570                 :            :     }
    1571                 :            :     {
    1572                 :          5 :         Enum1 b = Enum1_M2;
    1573 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1574                 :            :     }
    1575                 :            :     {
    1576                 :          5 :         Struct1 b(2);
    1577 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1578                 :            :     }
    1579                 :            :     {
    1580                 :            :         Exception1 b(
    1581         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1582 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1583                 :            :     }
    1584                 :            :     {
    1585 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1586                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1587 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1588                 :          5 :     }
    1589                 :          5 : }
    1590                 :            : 
    1591                 :          5 : void Test::testSequence() {
    1592                 :          5 :     sal_Int32 n = 1;
    1593 [ +  - ][ +  - ]:          5 :     css::uno::Any a(css::uno::Sequence< sal_Int32 >(&n, 1));
                 [ +  - ]
    1594 [ +  - ][ +  - ]:         10 :     CPPUNIT_ASSERT(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1595         [ +  - ]:          5 :         a.getValueType() == getCppuType< css::uno::Sequence< sal_Int32 > >());
    1596                 :            :     {
    1597                 :          5 :         bool b = true;
    1598 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1599                 :            :     }
    1600                 :            :     {
    1601                 :          5 :         sal_Bool b = true;
    1602 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1603                 :            :     }
    1604                 :            :     {
    1605                 :          5 :         sal_Int8 b = 2;
    1606 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1607                 :            :     }
    1608                 :            :     {
    1609                 :          5 :         sal_uInt8 b = 2;
    1610 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1611                 :            :     }
    1612                 :            :     {
    1613                 :          5 :         sal_Int16 b = 2;
    1614 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1615                 :            :     }
    1616                 :            :     {
    1617                 :          5 :         sal_uInt16 b = 2;
    1618 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1619                 :            :     }
    1620                 :            :     {
    1621                 :          5 :         sal_Int32 b = 2;
    1622 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1623                 :            :     }
    1624                 :            :     {
    1625                 :          5 :         sal_uInt32 b = 2;
    1626 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1627                 :            :     }
    1628                 :            :     {
    1629                 :          5 :         sal_Int64 b = 2;
    1630 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1631                 :            :     }
    1632                 :            :     {
    1633                 :          5 :         sal_uInt64 b = 2;
    1634 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1635                 :            :     }
    1636                 :            :     {
    1637                 :          5 :         float b = 2;
    1638 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1639                 :            :     }
    1640                 :            :     {
    1641                 :          5 :         double b = 2;
    1642 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1643                 :            :     }
    1644                 :            :     {
    1645                 :          5 :         sal_Unicode b = '2';
    1646 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1647                 :            :     }
    1648                 :            :     {
    1649         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1650 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1651                 :            :     }
    1652                 :            :     {
    1653                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1654 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1655                 :            :             "css::uno::Type",
    1656         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1657                 :            :     }
    1658                 :            :     {
    1659 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1660 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1661                 :            :     }
    1662                 :            :     {
    1663         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1664 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1665                 :            :             "css::uno::Sequence<rtl::OUString>",
    1666   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1667                 :            :     }
    1668                 :            :     {
    1669         [ +  - ]:          5 :         css::uno::Sequence< sal_Int32 > b(2);
    1670 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1671                 :            :             "css::uno::Sequence<sal_Int32>",
    1672   [ +  -  +  - ]:         10 :             (a >>= b) && b.getLength() == 1 && b[0] == 1);
    1673                 :            :     }
    1674                 :            :     {
    1675                 :          5 :         Enum1 b = Enum1_M2;
    1676 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1677                 :            :     }
    1678                 :            :     {
    1679                 :          5 :         Struct1 b(2);
    1680 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1681                 :            :     }
    1682                 :            :     {
    1683                 :            :         Exception1 b(
    1684         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1685 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1686                 :            :     }
    1687                 :            :     {
    1688 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1689                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1690 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1691                 :          5 :     }
    1692                 :          5 : }
    1693                 :            : 
    1694                 :          5 : void Test::testEnum() {
    1695         [ +  - ]:          5 :     css::uno::Any a(Enum2_M1);
    1696 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< Enum2 >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1697                 :            :     {
    1698                 :          5 :         bool b = true;
    1699 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1700                 :            :     }
    1701                 :            :     {
    1702                 :          5 :         sal_Bool b = true;
    1703 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1704                 :            :     }
    1705                 :            :     {
    1706                 :          5 :         sal_Int8 b = 2;
    1707 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1708                 :            :     }
    1709                 :            :     {
    1710                 :          5 :         sal_uInt8 b = 2;
    1711 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1712                 :            :     }
    1713                 :            :     {
    1714                 :          5 :         sal_Int16 b = 2;
    1715 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1716                 :            :     }
    1717                 :            :     {
    1718                 :          5 :         sal_uInt16 b = 2;
    1719 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1720                 :            :     }
    1721                 :            :     {
    1722                 :          5 :         sal_Int32 b = 2;
    1723 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1724                 :            :     }
    1725                 :            :     {
    1726                 :          5 :         sal_uInt32 b = 2;
    1727 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1728                 :            :     }
    1729                 :            :     {
    1730                 :          5 :         sal_Int64 b = 2;
    1731 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1732                 :            :     }
    1733                 :            :     {
    1734                 :          5 :         sal_uInt64 b = 2;
    1735 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1736                 :            :     }
    1737                 :            :     {
    1738                 :          5 :         float b = 2;
    1739 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1740                 :            :     }
    1741                 :            :     {
    1742                 :          5 :         double b = 2;
    1743 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1744                 :            :     }
    1745                 :            :     {
    1746                 :          5 :         sal_Unicode b = '2';
    1747 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1748                 :            :     }
    1749                 :            :     {
    1750         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1751 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1752                 :            :     }
    1753                 :            :     {
    1754                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1755 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1756                 :            :             "css::uno::Type",
    1757         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1758                 :            :     }
    1759                 :            :     {
    1760 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1761 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1762                 :            :     }
    1763                 :            :     {
    1764         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1765 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1766                 :            :             "css::uno::Sequence<rtl::OUString>",
    1767   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1768                 :            :     }
    1769                 :            :     {
    1770                 :          5 :         Enum1 b = Enum1_M2;
    1771 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1772                 :            :     }
    1773                 :            :     {
    1774                 :          5 :         Enum2 b = Enum2_M2;
    1775 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum2", (a >>= b) && b == Enum2_M1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1776                 :            :     }
    1777                 :            :     {
    1778                 :          5 :         Struct1 b(2);
    1779 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1780                 :            :     }
    1781                 :            :     {
    1782                 :            :         Exception1 b(
    1783         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1784 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1785                 :            :     }
    1786                 :            :     {
    1787 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1788                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1789 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1790                 :          5 :     }
    1791                 :          5 : }
    1792                 :            : 
    1793                 :          5 : void Test::testStruct() {
    1794         [ +  - ]:          5 :     css::uno::Any a(Struct2a(1, 3));
    1795 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< Struct2a >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1796                 :            :     {
    1797                 :          5 :         bool b = true;
    1798 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1799                 :            :     }
    1800                 :            :     {
    1801                 :          5 :         sal_Bool b = true;
    1802 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1803                 :            :     }
    1804                 :            :     {
    1805                 :          5 :         sal_Int8 b = 2;
    1806 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1807                 :            :     }
    1808                 :            :     {
    1809                 :          5 :         sal_uInt8 b = 2;
    1810 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1811                 :            :     }
    1812                 :            :     {
    1813                 :          5 :         sal_Int16 b = 2;
    1814 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1815                 :            :     }
    1816                 :            :     {
    1817                 :          5 :         sal_uInt16 b = 2;
    1818 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1819                 :            :     }
    1820                 :            :     {
    1821                 :          5 :         sal_Int32 b = 2;
    1822 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1823                 :            :     }
    1824                 :            :     {
    1825                 :          5 :         sal_uInt32 b = 2;
    1826 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1827                 :            :     }
    1828                 :            :     {
    1829                 :          5 :         sal_Int64 b = 2;
    1830 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1831                 :            :     }
    1832                 :            :     {
    1833                 :          5 :         sal_uInt64 b = 2;
    1834 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1835                 :            :     }
    1836                 :            :     {
    1837                 :          5 :         float b = 2;
    1838 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1839                 :            :     }
    1840                 :            :     {
    1841                 :          5 :         double b = 2;
    1842 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1843                 :            :     }
    1844                 :            :     {
    1845                 :          5 :         sal_Unicode b = '2';
    1846 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1847                 :            :     }
    1848                 :            :     {
    1849         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1850 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1851                 :            :     }
    1852                 :            :     {
    1853                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1854 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1855                 :            :             "css::uno::Type",
    1856         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1857                 :            :     }
    1858                 :            :     {
    1859 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1860 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1861                 :            :     }
    1862                 :            :     {
    1863         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1864 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1865                 :            :             "css::uno::Sequence<rtl::OUString>",
    1866   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1867                 :            :     }
    1868                 :            :     {
    1869                 :          5 :         Enum1 b = Enum1_M2;
    1870 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1871                 :            :     }
    1872                 :            :     {
    1873                 :          5 :         Struct1 b(2);
    1874 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1875                 :            :     }
    1876                 :            :     {
    1877                 :          5 :         Struct2 b(2);
    1878 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct2", (a >>= b) && b.member == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1879                 :            :     }
    1880                 :            :     {
    1881                 :          5 :         Struct2a b(2, 2);
    1882 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1883         [ +  - ]:          5 :             "Struct2a", (a >>= b) && b.member == 1 && b.member2 == 3);
    1884                 :            :     }
    1885                 :            :     {
    1886                 :          5 :         Struct2b b(2, 2, 2);
    1887 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct2b", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1888                 :            :     }
    1889                 :            :     {
    1890                 :            :         Exception1 b(
    1891         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1892 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1893                 :            :     }
    1894                 :            :     {
    1895 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    1896                 :          5 :         css::uno::Reference< Interface1 > b(i);
    1897 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1898                 :          5 :     }
    1899                 :          5 : }
    1900                 :            : 
    1901                 :          5 : void Test::testPoly() {
    1902                 :          5 :     css::uno::Any a;
    1903         [ +  - ]:          5 :     a <<= Poly< css::uno::Sequence< ::sal_Unicode > >();
    1904 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT_MESSAGE( "type name", a.getValueType().getTypeName() == "Poly<[]char>" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1905 [ +  - ][ +  - ]:         10 :     CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1906                 :            :         "constructor",
    1907         [ +  - ]:         10 :         a == css::uno::Any(Poly< css::uno::Sequence< ::sal_Unicode > >()));
    1908                 :          5 : }
    1909                 :            : 
    1910                 :          5 : void Test::testException() {
    1911                 :            :     css::uno::Any a(
    1912                 :            :         Exception2a(
    1913                 :            :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 1,
    1914 [ +  - ][ +  - ]:          5 :             3));
                 [ +  - ]
    1915 [ +  - ][ +  - ]:          5 :     CPPUNIT_ASSERT(a.getValueType() == getCppuType< Exception2a >());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1916                 :            :     {
    1917                 :          5 :         bool b = true;
    1918 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1919                 :            :     }
    1920                 :            :     {
    1921                 :          5 :         sal_Bool b = true;
    1922 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1923                 :            :     }
    1924                 :            :     {
    1925                 :          5 :         sal_Int8 b = 2;
    1926 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1927                 :            :     }
    1928                 :            :     {
    1929                 :          5 :         sal_uInt8 b = 2;
    1930 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1931                 :            :     }
    1932                 :            :     {
    1933                 :          5 :         sal_Int16 b = 2;
    1934 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1935                 :            :     }
    1936                 :            :     {
    1937                 :          5 :         sal_uInt16 b = 2;
    1938 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1939                 :            :     }
    1940                 :            :     {
    1941                 :          5 :         sal_Int32 b = 2;
    1942 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1943                 :            :     }
    1944                 :            :     {
    1945                 :          5 :         sal_uInt32 b = 2;
    1946 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1947                 :            :     }
    1948                 :            :     {
    1949                 :          5 :         sal_Int64 b = 2;
    1950 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1951                 :            :     }
    1952                 :            :     {
    1953                 :          5 :         sal_uInt64 b = 2;
    1954 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1955                 :            :     }
    1956                 :            :     {
    1957                 :          5 :         float b = 2;
    1958 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1959                 :            :     }
    1960                 :            :     {
    1961                 :          5 :         double b = 2;
    1962 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1963                 :            :     }
    1964                 :            :     {
    1965                 :          5 :         sal_Unicode b = '2';
    1966 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1967                 :            :     }
    1968                 :            :     {
    1969         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    1970 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1971                 :            :     }
    1972                 :            :     {
    1973                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    1974 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1975                 :            :             "css::uno::Type",
    1976         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    1977                 :            :     }
    1978                 :            :     {
    1979 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    1980 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    1981                 :            :     }
    1982                 :            :     {
    1983         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    1984 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    1985                 :            :             "css::uno::Sequence<rtl::OUString>",
    1986   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    1987                 :            :     }
    1988                 :            :     {
    1989                 :          5 :         Enum1 b = Enum1_M2;
    1990 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    1991                 :            :     }
    1992                 :            :     {
    1993                 :          5 :         Struct1 b(2);
    1994 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    1995                 :            :     }
    1996                 :            :     {
    1997                 :            :         Exception1 b(
    1998         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    1999 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2000                 :            :     }
    2001                 :            :     {
    2002                 :            :         Exception2 b(
    2003         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    2004 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception2", (a >>= b) && b.member == 1);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2005                 :            :     }
    2006                 :            :     {
    2007                 :            :         Exception2a b(
    2008                 :            :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2,
    2009         [ +  - ]:          5 :             2);
    2010 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    2011   [ +  -  +  - ]:         10 :             "Exception2a", (a >>= b) && b.member == 1 && b.member2 == 3);
    2012                 :            :     }
    2013                 :            :     {
    2014                 :            :         Exception2b b(
    2015                 :            :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2,
    2016         [ +  - ]:          5 :             2);
    2017 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception2b", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2018                 :            :     }
    2019                 :            :     {
    2020 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    2021                 :          5 :         css::uno::Reference< Interface1 > b(i);
    2022 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2023                 :          5 :     }
    2024                 :          5 : }
    2025                 :            : 
    2026                 :          5 : void Test::testInterface() {
    2027 [ +  - ][ +  - ]:          5 :     css::uno::Reference< Interface2a > i2(new Impl2);
    2028         [ +  - ]:          5 :     css::uno::Any a(i2);
    2029 [ +  - ][ +  - ]:         10 :     CPPUNIT_ASSERT(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    2030                 :            :         a.getValueType()
    2031         [ +  - ]:          5 :         == getCppuType< css::uno::Reference< Interface2a > >());
    2032                 :            :     {
    2033                 :          5 :         bool b = true;
    2034 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2035                 :            :     }
    2036                 :            :     {
    2037                 :          5 :         sal_Bool b = true;
    2038 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2039                 :            :     }
    2040                 :            :     {
    2041                 :          5 :         sal_Int8 b = 2;
    2042 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2043                 :            :     }
    2044                 :            :     {
    2045                 :          5 :         sal_uInt8 b = 2;
    2046 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2047                 :            :     }
    2048                 :            :     {
    2049                 :          5 :         sal_Int16 b = 2;
    2050 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2051                 :            :     }
    2052                 :            :     {
    2053                 :          5 :         sal_uInt16 b = 2;
    2054 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2055                 :            :     }
    2056                 :            :     {
    2057                 :          5 :         sal_Int32 b = 2;
    2058 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2059                 :            :     }
    2060                 :            :     {
    2061                 :          5 :         sal_uInt32 b = 2;
    2062 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2063                 :            :     }
    2064                 :            :     {
    2065                 :          5 :         sal_Int64 b = 2;
    2066 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2067                 :            :     }
    2068                 :            :     {
    2069                 :          5 :         sal_uInt64 b = 2;
    2070 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2071                 :            :     }
    2072                 :            :     {
    2073                 :          5 :         float b = 2;
    2074 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2075                 :            :     }
    2076                 :            :     {
    2077                 :          5 :         double b = 2;
    2078 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2079                 :            :     }
    2080                 :            :     {
    2081                 :          5 :         sal_Unicode b = '2';
    2082 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2083                 :            :     }
    2084                 :            :     {
    2085         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    2086 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2087                 :            :     }
    2088                 :            :     {
    2089                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    2090 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    2091                 :            :             "css::uno::Type",
    2092         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    2093                 :            :     }
    2094                 :            :     {
    2095 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    2096 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2097                 :            :     }
    2098                 :            :     {
    2099         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    2100 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    2101                 :            :             "css::uno::Sequence<rtl::OUString>",
    2102   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    2103                 :            :     }
    2104                 :            :     {
    2105                 :          5 :         Enum1 b = Enum1_M2;
    2106 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    2107                 :            :     }
    2108                 :            :     {
    2109                 :          5 :         Struct1 b(2);
    2110 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    2111                 :            :     }
    2112                 :            :     {
    2113                 :            :         Exception1 b(
    2114         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    2115 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2116                 :            :     }
    2117                 :            :     {
    2118 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > i(new Impl1);
    2119                 :          5 :         css::uno::Reference< Interface1 > b(i);
    2120 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface1", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2121                 :            :     }
    2122                 :            :     {
    2123 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface2 > b(new Impl2);
    2124 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface2", (a >>= b) && b == i2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2125                 :            :     }
    2126                 :            :     {
    2127 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface2a > b(new Impl2);
    2128 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface2a", (a >>= b) && b == i2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2129                 :            :     }
    2130                 :            :     {
    2131 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface2b > i(new Impl2b);
    2132                 :          5 :         css::uno::Reference< Interface2b > b(i);
    2133 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface2b", !(a >>= b) && b == i);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2134                 :            :     }
    2135                 :            :     {
    2136 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface3 > b(new Impl2);
                 [ +  - ]
    2137 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface3", (a >>= b) && b == i2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2138                 :          5 :     }
    2139                 :          5 : }
    2140                 :            : 
    2141                 :          5 : void Test::testNull() {
    2142         [ +  - ]:          5 :     css::uno::Any a = css::uno::Any(css::uno::Reference< Interface2a >());
    2143 [ +  - ][ +  - ]:         10 :     CPPUNIT_ASSERT(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    2144                 :            :         a.getValueType()
    2145         [ +  - ]:          5 :         == getCppuType< css::uno::Reference< Interface2a > >());
    2146                 :            :     {
    2147                 :          5 :         bool b = true;
    2148 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2149                 :            :     }
    2150                 :            :     {
    2151                 :          5 :         sal_Bool b = true;
    2152 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Bool", !(a >>= b) && b);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2153                 :            :     }
    2154                 :            :     {
    2155                 :          5 :         sal_Int8 b = 2;
    2156 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2157                 :            :     }
    2158                 :            :     {
    2159                 :          5 :         sal_uInt8 b = 2;
    2160 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt8", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2161                 :            :     }
    2162                 :            :     {
    2163                 :          5 :         sal_Int16 b = 2;
    2164 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2165                 :            :     }
    2166                 :            :     {
    2167                 :          5 :         sal_uInt16 b = 2;
    2168 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt16", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2169                 :            :     }
    2170                 :            :     {
    2171                 :          5 :         sal_Int32 b = 2;
    2172 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2173                 :            :     }
    2174                 :            :     {
    2175                 :          5 :         sal_uInt32 b = 2;
    2176 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt32", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2177                 :            :     }
    2178                 :            :     {
    2179                 :          5 :         sal_Int64 b = 2;
    2180 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Int64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2181                 :            :     }
    2182                 :            :     {
    2183                 :          5 :         sal_uInt64 b = 2;
    2184 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_uInt64", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2185                 :            :     }
    2186                 :            :     {
    2187                 :          5 :         float b = 2;
    2188 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("float", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2189                 :            :     }
    2190                 :            :     {
    2191                 :          5 :         double b = 2;
    2192 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("double", !(a >>= b) && b == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2193                 :            :     }
    2194                 :            :     {
    2195                 :          5 :         sal_Unicode b = '2';
    2196 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("sal_Unicode", !(a >>= b) && b == '2');
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2197                 :            :     }
    2198                 :            :     {
    2199         [ +  - ]:          5 :         rtl::OUString b(RTL_CONSTASCII_USTRINGPARAM("2"));
    2200 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE( "rtl::OUString", !(a >>= b) && b == "2" );
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2201                 :            :     }
    2202                 :            :     {
    2203                 :          5 :         css::uno::Type b(getCppuType< rtl::OUString >());
    2204 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    2205                 :            :             "css::uno::Type",
    2206         [ +  - ]:         10 :             !(a >>= b) && b == getCppuType< rtl::OUString >());
    2207                 :            :     }
    2208                 :            :     {
    2209 [ +  - ][ +  - ]:          5 :         css::uno::Any b(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("2")));
    2210 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("css::uno::Any", (a >>= b) && b == a);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2211                 :            :     }
    2212                 :            :     {
    2213         [ +  - ]:          5 :         css::uno::Sequence< rtl::OUString > b(2);
    2214 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    2215                 :            :             "css::uno::Sequence<rtl::OUString>",
    2216   [ +  -  +  - ]:         10 :             !(a >>= b) && b.getLength() == 2);
    2217                 :            :     }
    2218                 :            :     {
    2219                 :          5 :         Enum1 b = Enum1_M2;
    2220 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Enum1", !(a >>= b) && b == Enum1_M2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    2221                 :            :     }
    2222                 :            :     {
    2223                 :          5 :         Struct1 b(2);
    2224 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Struct1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
    2225                 :            :     }
    2226                 :            :     {
    2227                 :            :         Exception1 b(
    2228         [ +  - ]:          5 :             rtl::OUString(), css::uno::Reference< css::uno::XInterface >(), 2);
    2229 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Exception1", !(a >>= b) && b.member == 2);
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
                 [ +  - ]
    2230                 :            :     }
    2231                 :            :     {
    2232 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface1 > b(new Impl1);
    2233 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    2234         [ +  - ]:         10 :             "Interface1", (a >>= b) && !b.is());
    2235                 :            :     }
    2236                 :            :     {
    2237 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface2 > b(new Impl2);
    2238 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    2239         [ +  - ]:         10 :             "Interface2", (a >>= b) && !b.is());
    2240                 :            :     }
    2241                 :            :     {
    2242 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface2a > b(new Impl2);
    2243 [ +  - ][ +  - ]:          5 :         CPPUNIT_ASSERT_MESSAGE("Interface2a", (a >>= b) && !b.is());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  - ][ +  - ]
    2244                 :            :     }
    2245                 :            :     {
    2246 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface2b > b(new Impl2b);
    2247 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    2248         [ +  - ]:         10 :             "Interface2b", (a >>= b) && !b.is());
    2249                 :            :     }
    2250                 :            :     {
    2251 [ +  - ][ +  - ]:          5 :         css::uno::Reference< Interface3 > b(new Impl2);
                 [ +  - ]
    2252 [ +  - ][ +  - ]:         10 :         CPPUNIT_ASSERT_MESSAGE(
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
                 [ +  - ]
    2253         [ +  - ]:         10 :             "Interface3", (a >>= b) && !b.is());
    2254                 :          5 :     }
    2255                 :          5 : }
    2256                 :            : 
    2257                 :          5 : CPPUNIT_TEST_SUITE_REGISTRATION(Test);
    2258                 :            : 
    2259                 :            : }
    2260                 :            : 
    2261 [ +  - ][ +  - ]:         20 : CPPUNIT_PLUGIN_IMPLEMENT();
         [ +  - ][ +  - ]
         [ +  - ][ #  # ]
    2262                 :            : 
    2263                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10