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