| | | | | next -> |

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';
  }
}


| next -> | Top of Page | 7. A BitVector Class - 14 of 14