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