1*11c03c6dSDamjan Jovanovic /************************************************************** 2*11c03c6dSDamjan Jovanovic * 3*11c03c6dSDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one 4*11c03c6dSDamjan Jovanovic * or more contributor license agreements. See the NOTICE file 5*11c03c6dSDamjan Jovanovic * distributed with this work for additional information 6*11c03c6dSDamjan Jovanovic * regarding copyright ownership. The ASF licenses this file 7*11c03c6dSDamjan Jovanovic * to you under the Apache License, Version 2.0 (the 8*11c03c6dSDamjan Jovanovic * "License"); you may not use this file except in compliance 9*11c03c6dSDamjan Jovanovic * with the License. You may obtain a copy of the License at 10*11c03c6dSDamjan Jovanovic * 11*11c03c6dSDamjan Jovanovic * http://www.apache.org/licenses/LICENSE-2.0 12*11c03c6dSDamjan Jovanovic * 13*11c03c6dSDamjan Jovanovic * Unless required by applicable law or agreed to in writing, 14*11c03c6dSDamjan Jovanovic * software distributed under the License is distributed on an 15*11c03c6dSDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*11c03c6dSDamjan Jovanovic * KIND, either express or implied. See the License for the 17*11c03c6dSDamjan Jovanovic * specific language governing permissions and limitations 18*11c03c6dSDamjan Jovanovic * under the License. 19*11c03c6dSDamjan Jovanovic * 20*11c03c6dSDamjan Jovanovic *************************************************************/ 21*11c03c6dSDamjan Jovanovic 22*11c03c6dSDamjan Jovanovic 23*11c03c6dSDamjan Jovanovic 24*11c03c6dSDamjan Jovanovic #include <precomp.h> 25*11c03c6dSDamjan Jovanovic #include <cosv/string.hxx> 26*11c03c6dSDamjan Jovanovic 27*11c03c6dSDamjan Jovanovic // NOT FULLY DECLARED SERVICES 28*11c03c6dSDamjan Jovanovic #include <ut.hxx> 29*11c03c6dSDamjan Jovanovic 30*11c03c6dSDamjan Jovanovic using csv::SimpleString; 31*11c03c6dSDamjan Jovanovic 32*11c03c6dSDamjan Jovanovic 33*11c03c6dSDamjan Jovanovic /** @file 34*11c03c6dSDamjan Jovanovic UnitTests for class String. 35*11c03c6dSDamjan Jovanovic */ 36*11c03c6dSDamjan Jovanovic 37*11c03c6dSDamjan Jovanovic inline bool 38*11c03c6dSDamjan Jovanovic check_value( const String & a, const char * b ) 39*11c03c6dSDamjan Jovanovic { 40*11c03c6dSDamjan Jovanovic return strcmp( a.c_str(), b ) == 0; 41*11c03c6dSDamjan Jovanovic } 42*11c03c6dSDamjan Jovanovic 43*11c03c6dSDamjan Jovanovic 44*11c03c6dSDamjan Jovanovic bool 45*11c03c6dSDamjan Jovanovic classtest_String( csv::SimpleString & rSimpleString ) 46*11c03c6dSDamjan Jovanovic { 47*11c03c6dSDamjan Jovanovic bool ret = true; 48*11c03c6dSDamjan Jovanovic 49*11c03c6dSDamjan Jovanovic String x1; 50*11c03c6dSDamjan Jovanovic UT_CHECK( String(), check_value(x1,"") ) 51*11c03c6dSDamjan Jovanovic 52*11c03c6dSDamjan Jovanovic const char * s2a = ""; 53*11c03c6dSDamjan Jovanovic String x2a(s2a); 54*11c03c6dSDamjan Jovanovic UT_CHECK( String(const char*), check_value(x2a,s2a) ) 55*11c03c6dSDamjan Jovanovic 56*11c03c6dSDamjan Jovanovic const char * s2b = "_zluoadninger prrg chi��i(/%$##@\\\"'''fh kl"; 57*11c03c6dSDamjan Jovanovic String x2b(s2b); 58*11c03c6dSDamjan Jovanovic UT_CHECK( String(const char*), check_value(x2b,s2b) ) 59*11c03c6dSDamjan Jovanovic 60*11c03c6dSDamjan Jovanovic 61*11c03c6dSDamjan Jovanovic bool ret = ftest_Read( rSimpleString ); 62*11c03c6dSDamjan Jovanovic ret = ftest_Write( rSimpleString ) AND ret; 63*11c03c6dSDamjan Jovanovic ret = ftest_SeekBack( rSimpleString ) AND ret; 64*11c03c6dSDamjan Jovanovic ret = ftest_SeekRelative( rSimpleString ) AND ret; 65*11c03c6dSDamjan Jovanovic 66*11c03c6dSDamjan Jovanovic rSimpleString.Close(); 67*11c03c6dSDamjan Jovanovic 68*11c03c6dSDamjan Jovanovic return ret; 69*11c03c6dSDamjan Jovanovic } 70*11c03c6dSDamjan Jovanovic 71*11c03c6dSDamjan Jovanovic 72*11c03c6dSDamjan Jovanovic 73*11c03c6dSDamjan Jovanovic 74*11c03c6dSDamjan Jovanovic #if 0 75*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, Ctor_Def ); 76*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, Seek ); 77*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, SeekBack ); 78*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, SeekRelative ); 79*11c03c6dSDamjan Jovanovic 80*11c03c6dSDamjan Jovanovic 81*11c03c6dSDamjan Jovanovic 82*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, Read ) 83*11c03c6dSDamjan Jovanovic { 84*11c03c6dSDamjan Jovanovic bool ret = true; 85*11c03c6dSDamjan Jovanovic 86*11c03c6dSDamjan Jovanovic rSimpleString.SeekBack(0); 87*11c03c6dSDamjan Jovanovic uintt nSourceSize = rSimpleString.Position(); 88*11c03c6dSDamjan Jovanovic rSimpleString.Seek(0); 89*11c03c6dSDamjan Jovanovic 90*11c03c6dSDamjan Jovanovic char * pBuf = new char[nSourceSize+1]; 91*11c03c6dSDamjan Jovanovic uintt nCount = rSimpleString.Read(pBuf,nSourceSize); 92*11c03c6dSDamjan Jovanovic 93*11c03c6dSDamjan Jovanovic UT_CHECK( Read, nCount == nSourceSize ); 94*11c03c6dSDamjan Jovanovic 95*11c03c6dSDamjan Jovanovic return ret; 96*11c03c6dSDamjan Jovanovic } 97*11c03c6dSDamjan Jovanovic 98*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, Write ) 99*11c03c6dSDamjan Jovanovic { 100*11c03c6dSDamjan Jovanovic bool ret = true; 101*11c03c6dSDamjan Jovanovic 102*11c03c6dSDamjan Jovanovic 103*11c03c6dSDamjan Jovanovic 104*11c03c6dSDamjan Jovanovic return ret; 105*11c03c6dSDamjan Jovanovic } 106*11c03c6dSDamjan Jovanovic 107*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, Seek ) 108*11c03c6dSDamjan Jovanovic { 109*11c03c6dSDamjan Jovanovic bool ret = true; 110*11c03c6dSDamjan Jovanovic 111*11c03c6dSDamjan Jovanovic 112*11c03c6dSDamjan Jovanovic 113*11c03c6dSDamjan Jovanovic return ret; 114*11c03c6dSDamjan Jovanovic } 115*11c03c6dSDamjan Jovanovic 116*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, SeekBack ) 117*11c03c6dSDamjan Jovanovic { 118*11c03c6dSDamjan Jovanovic bool ret = true; 119*11c03c6dSDamjan Jovanovic 120*11c03c6dSDamjan Jovanovic 121*11c03c6dSDamjan Jovanovic 122*11c03c6dSDamjan Jovanovic return ret; 123*11c03c6dSDamjan Jovanovic } 124*11c03c6dSDamjan Jovanovic 125*11c03c6dSDamjan Jovanovic FUT_DECL( SimpleString, SeekRelative ) 126*11c03c6dSDamjan Jovanovic { 127*11c03c6dSDamjan Jovanovic bool ret = true; 128*11c03c6dSDamjan Jovanovic 129*11c03c6dSDamjan Jovanovic 130*11c03c6dSDamjan Jovanovic 131*11c03c6dSDamjan Jovanovic return ret; 132*11c03c6dSDamjan Jovanovic } 133*11c03c6dSDamjan Jovanovic 134*11c03c6dSDamjan Jovanovic #endif 135*11c03c6dSDamjan Jovanovic 136*11c03c6dSDamjan Jovanovic 137