Example #1
0
int
run_main (int, ACE_TCHAR *[])
{
  ACE_START_TEST (ACE_TEXT ("Arg_Shifter_Test"));
  const int test_argc_size1 = 5;
  int argl (test_argc_size1);
  const ACE_TCHAR *args1[test_argc_size1] = {
    ACE_TEXT ("-known"),
    ACE_TEXT ("-huh"),
    ACE_TEXT ("-arg"),
    ACE_TEXT ("-what"),
    ACE_TEXT ("arg")
  };

  ACE_Arg_Shifter shifter1 (argl, args1);

  if (!shifter1.is_anything_left ())
    ACE_ERROR ((LM_ERROR, "is_anything_left() returned 0 at start.\n"));

  const int test_argc_size2 = 4;
  int arg2 = test_argc_size2;
  const ACE_TCHAR *args2[test_argc_size2] = {
    ACE_TEXT ("-ORBDebugLevel"),
    ACE_TEXT ("-0"),
    ACE_TEXT ("-o"),
    ACE_TEXT ("server.ior")
  };
  bool found_ORBDebug = false;

  ACE_Arg_Shifter arg_shifter2 (arg2, args2);
  while (arg_shifter2.is_anything_left ())
    {
      if (0 == arg_shifter2.cur_arg_strncasecmp (ACE_TEXT ("-ORBDebug")))
        {
          found_ORBDebug = true;
          arg_shifter2.consume_arg ();
        }
      else if (0 == arg_shifter2.cur_arg_strncasecmp (ACE_TEXT ("-ORBDaemon")))
        {
          arg_shifter2.consume_arg ();
        }
      else
        {
          arg_shifter2.ignore_arg ();
        }
    }

  if (found_ORBDebug)
    {
      ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("argshifter 2 test failed\n")), -1);
    }

  ACE_END_TEST;
  return 0;
}
Example #2
0
int
main(int argc, char**argv)
{
  reweight::PoissonMeanShifter shifter1(1.0);
  reweight::PoissonMeanShifter shifter2(-1.0);
  union {
    double f;
    uint64_t i;
  } tmp;
  uint64_t results1[] = {
                        4602120534948439556, 
                        4602999367379724634, 
                        4603649431361458099,
                        4604346298551959050,
                        4605085334134721371,
                        4605952101134374348,
                        4606930325307275717,
                        4607641651304380340,
                        4608342322235126568,
                        4609192422151148985,
                        4610204782303181931,
                        4611433186344307324,
                        4612294974902802620,
                        4613148684003566412,
                        4614154274749963460,
                        4615373700910267687,
                        4616505466755624961,
                        4617449995446474307,
                        4618367705201542662,
                        4620104415940946570,
                        4607361093840994952,
                        4600992940758467837,
                        4607581658621163415,
                        4610803005240562260,
                        4611154016586699445};
  uint64_t results2[] = {
                        4612145272999389010,
                        4611106990623296879,
                        4609907727078524390,
                        4608915764224599765,
                        4608046613631793607,
                        4607285911519454382,
                        4606029308144226211,
                        4604816295109791360,
                        4603752250342390819,
                        4602842140411693652,
                        4601400013051255806,
                        4600091501186722562,
                        4598979994784289015,
                        4597863822652641510,
                        4596272178486734738,
                        4595072059258033044,
                        4593705811246276916,
                        4592838850303609584,
                        4590954616277111816,
                        4589260254010903968,
                        4548171036046341834,
                        4538272860974572120,
                        4532501729851183836,
                        4525211654956168943, 
                        4495387381920187034};

  for (int i = 0; i < 25; ++i)
  {
    tmp.f = shifter1.ShiftWeight(i);
    assert(results1[i] == tmp.i);
  }

  for (int i = 0; i < 25; ++i)
  {
    tmp.f = shifter2.ShiftWeight(i);
    assert(results2[i] == tmp.i);
  }
}