00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef WDATASETFIBERVECTORTRAITS_H
00026 #define WDATASETFIBERVECTORTRAITS_H
00027
00028 #include <string>
00029 #include <sstream>
00030
00031 #include "../WDataSetFiberVector.h"
00032 #include "../../common/test/WTraitsBase.h"
00033 #include "../../common/WStringUtils.h"
00034
00035 #ifdef CXXTEST_RUNNING
00036 namespace CxxTest
00037 {
00038 CXXTEST_TEMPLATE_INSTANTIATION
00039
00040
00041
00042
00043 class ValueTraits< WDataSetFiberVector > : public WTraitsBase
00044 {
00045 public:
00046
00047
00048
00049 explicit ValueTraits( const WDataSetFiberVector & v )
00050 {
00051 std::stringstream ss;
00052 using string_utils::operator<<;
00053 size_t count = 0;
00054 ss << std::endl;
00055 for( WDataSetFiberVector::const_iterator cit = v.begin(); cit != v.end(); ++cit, ++count )
00056 {
00057 std::stringstream prefix;
00058 prefix << "fib: " << count << "[ ";
00059 std::string indent( prefix.str().size(), ' ' );
00060 for( WFiber::const_iterator dit = cit->begin(); dit != cit->end(); ++dit )
00061 {
00062 if( *dit == *cit->begin() )
00063 {
00064 ss << prefix.str() << *dit << std::endl;
00065 }
00066 else
00067 {
00068 ss << indent << *dit << std::endl;
00069 }
00070 }
00071 ss << std::string( indent.size() - 2, ' ' ) << "]" << std::endl;
00072 }
00073 m_s = ss.str();
00074 }
00075 };
00076 }
00077 #endif // CXXTEST_RUNNING
00078 #endif // WDATASETFIBERVECTORTRAITS_H