1 // 2 // sc_Field_t.cpp 3 // 4 // $Id: sc_Field_t.cpp,v 1.6 2002/11/27 00:21:34 mcoletti Exp $ 5 // 6 // TODO: 7 // 8 // We should add checks for _all_ get*() and set*() members, not just a 9 // sampling. 10 // 11 12 #include <cassert> 13 #include <iostream> 14 15 16 using namespace std; 17 18 19 #include <sdts++/container/sc_Field.h> 20 21 22 int main(int argc,char ** argv)23main( int argc, char** argv ) 24 { 25 26 sc_Field f; 27 28 unsigned long ulong_val; 29 string string_val; 30 31 32 // name and mnemonic should start out null 33 34 assert( "" == f.getName() ); 35 assert( "" == f.getMnemonic() ); 36 37 f.setName( "Blah blah" ); 38 f.setMnemonic( "FOO" ); 39 40 assert( "Blah blah" == f.getName() ); 41 assert( "FOO" == f.getMnemonic() ); 42 43 assert( f.empty() ); // also should start out with no subfields 44 45 46 // insert a subfield and insure it behaves ok 47 48 f.push_back( sc_Subfield() ); 49 50 assert( ! f.empty() ); 51 52 53 f.back().setA( "BAZ" ); 54 55 assert( f.back().getA( string_val ) ); 56 57 assert( "BAZ" == string_val ); 58 59 60 61 // copy ctor test 62 63 { 64 sc_Field local_f( f ); 65 string my_val; 66 67 assert( local_f.back().getA( my_val ) ); 68 69 assert( "BAZ" == my_val ); 70 71 assert( ! local_f.back().getBUI8( ulong_val ) ); 72 } 73 74 75 // assignment operator test 76 77 { 78 sc_Field local_f; 79 string my_val; 80 81 local_f = f; 82 83 assert( local_f.back().getA( my_val ) ); 84 85 assert( "BAZ" == my_val ); 86 87 assert( ! local_f.back().getBUI8( ulong_val ) ); 88 } 89 90 91 // null reset test 92 93 f.back().setUnvalued(); 94 95 assert( ! f.back().getA( string_val ) ); 96 97 98 f.clear(); 99 100 assert( f.empty() ); 101 102 exit( 0 ); 103 } 104