BitVector Test Client (cont)
/*
fbitvect.cpp
testing BitVector
*/
...
void DisplayMenu(size_t size)
{
if (size == 0)
std::cout << " BitVector () v;\n";
else
std::cout << " BitVector (" << size << ") v;\n";
std::cout << " operation entry\n"
<< " --------- -----\n"
<< " v.Set () ............................ S\n"
<< " v.Set (i) ............................ s i\n"
<< " v.Unset () ............................ U\n"
<< " v.Unset (i) ............................ u i\n"
<< " v.Flip () ............................ F\n"
<< " v.Flip (i) ............................ f i\n"
<< " v.Test (i) ............................ t i\n"
<< " v.Expand (newsize) ..................... e newsize\n"
<< " v.Dump (std::cout) ................... d\n"
<< " v[i] ................................ [i]\n"
<< " std::cout << v ........................... o\n"
<< " copy, assign tests ....................... =\n"
<< " display this Menu ........................ m\n"
<< " switch to interactive mode ............... x\n"
<< " Quit program ............................. q\n";
}
void CopyTest(const fsu::BitVector& bv1, fsu::BitVector bv2)
{
// bv1 = original, bv2 = copy
std::cout << " CopyTest:";
if (bv1 == bv2)
{
std::cout << " objects are equal\n";
}
else
{
std::cout << " objects are NOT equal:\n";
std::cout << " original object size: " << bv1.Size() << '\n'
<< " Dump:\n";
bv1.Dump(std::cout);
std::cout << '\n';
std::cout << " copy of object size: " << bv2.Size() << '\n'
<< " Dump:\n";
bv2.Dump(std::cout);
std::cout << '\n';
}
}
void AssignTest(const fsu::BitVector& bv1)
{
// bv1 = original, bv2 = copy
fsu::BitVector bv2(0);
bv2 = bv1;
std::cout << " AssignTest:";
if (bv1 == bv2)
{
std::cout << " objects are equal\n";
}
else
{
std::cout << " objects are NOT equal:\n";
std::cout << " original object size: " << bv1.Size() << '\n'
<< " Dump:\n";
bv1.Dump(std::cout);
std::cout << '\n';
std::cout << " assignee object size: " << bv2.Size() << '\n'
<< " Dump:\n";
bv2.Dump(std::cout);
std::cout << '\n';
}
}
|