// File_t.cxx #include "FileTest.h" #include #include "hesbase/EventId.h" using std::cout; using std::endl; using hes::EventId; // File is almost entirely pure virtual. // We test that the test implememtation FileTest is complete and // that it only returns invalid values. using hes::Name; using hes::EdoKey; using hes::EdoId; using hes::PlacementCategoryId; using hes::PlacementCategory; using hes::File; int main() { string line = "--------------------------------------"; cout << line << endl; { cout << "OpenStatus" << endl; File::OpenStatus sclosed = File::CLOSED; File::OpenStatus sreadonly = File::READONLY; File::OpenStatus snew = File::NEW; File::OpenStatus sappend = File::APPEND; assert( sclosed != sreadonly ); assert( sclosed != snew ); assert( sclosed != sappend ); cout << line << endl; } { FileTest file; cout << file << endl; assert( file.close() == file.open(File::CLOSED) ); assert( file.is_open() == file.open_status()!=File::CLOSED ); cout << line << endl; assert( ! file.is_valid() ); assert( file.open(File::READONLY) ); assert( ! file.can_be_read() ); assert( ! file.can_be_written() ); assert( ! file.type().is_valid() ); assert( ! file.physical_name().is_valid() ); assert( ! file.logical_name().is_valid() ); assert( ! file.id().is_valid() ); assert( ! file.stream_type().is_valid() ); assert( ! file.is_locked() ); EventId evid; assert( ! file.set_event(evid).is_valid() ); assert( ! file.first_event().is_valid() ); assert( ! file.next_event().is_valid() ); assert( ! file.event_count() ); assert( ! file.min_event().is_valid() ); assert( ! file.max_event().is_valid() ); assert( ! file.event_ids().size() ); assert( ! file.event().is_valid() ); assert( ! file.is_writing() ); assert( ! file.placement_categories().size() ); assert( ! file.placement_category(PlacementCategoryId()).is_valid() ); assert( file.add_placement_category_id(PlacementCategoryId()) ); assert( file.add_placement_category(PlacementCategory()) ); assert( file.add_edo_id(Name(), EdoId()) ); assert( file.add_edo(Name(), EdoKey(), EdoHandleTest()) ); assert( file.close_event() ); file.lock(); } { FileTest file; file.set_valid(true); cout << file << endl; assert( file.is_valid() ); cout << line << endl; } return 0; }