// EdoKey_t.cxx #include "EdoKey.h" using hes::Index; using hes::IndexVector; using hes::EdoKey; int main() { string line = "--------------------------------------"; cout << line << endl; { cout << "Size of EdoKey index is " << sizeof(Index) << " bytes" << endl; cout << "Size of EdoKey is " << sizeof(EdoKey) << " bytes" << endl; assert( sizeof(Index) == 4 ); cout << line << endl; } { cout << "Version: " << EdoKey::version() << endl; assert( EdoKey::version() == 1 ); cout << line << endl; } { EdoKey key; cout << key << endl; assert( ! key.is_valid() ); cout << line << endl; } { EdoKey key("a"); cout << key << endl; assert( key.is_valid() ); IndexVector idxs = key.indices(); IndexVector::const_iterator iidx = idxs.begin(); EdoKey key2(iidx); assert( iidx == idxs.end() ); cout << key2 << endl; cout << line << endl; } { EdoKey key("abc"); cout << key << endl; assert( key.is_valid() ); IndexVector idxs = key.indices(); IndexVector::const_iterator iidx = idxs.begin(); EdoKey key2(iidx); assert( iidx == idxs.end() ); cout << key2 << endl; cout << line << endl; } { EdoKey key("abcd"); cout << key << endl; assert( key.is_valid() ); IndexVector idxs = key.indices(); IndexVector::const_iterator iidx = idxs.begin(); EdoKey key2(iidx); assert( iidx == idxs.end() ); cout << key2 << endl; cout << line << endl; } { EdoKey key0("testkey"); EdoKey key1("testkey"); EdoKey key2 = key0; EdoKey key3("testke"); EdoKey key4("testkey2"); assert( key0 == key0 ); assert( key0 == key1 ); assert( key1 == key0 ); assert( key2 == key0 ); assert( key3 != key0 ); assert( key4 != key0 ); assert( key3 < key0 ); assert( key0 < key4 ); } return 0; }