public String TestRemoveState(AIStateMachine current, AIState state)
        {
            String result = PASS;
            int oldNum;

            Console.WriteLine(SEP);
            Console.WriteLine("Testing RemoveState " + current.GetName() + " " + state.ToString());

            try
            {
                oldNum = current.GetNumStates();
                current.RemoveState(state);
                if (current.GetNumStates() != (oldNum - 1))
                {
                    result = FAIL;
                }
            }
            catch (SystemException exc)
            {
                Console.WriteLine(exc.ToString());
                Console.WriteLine("Machine Remove State Test ");
                return FAIL;
            }

            foreach (AIState newState in current.GetStateNames())
            {
                Console.WriteLine(newState.ToString() + "P Vector Test: "
                    + AIStateMachine.ValidVector(current.GetPVector(newState)));
            }

            return result;
        }
        public String TestMembers(AIStateMachine current)
        {
            String result = FAIL;
            Console.WriteLine(SEP);
            Console.Write("Testing Machine Members for ");
            Console.WriteLine(current.GetName());

            Console.WriteLine("1) Machine State Names:");
            try
            {
                foreach (AIState state in current.GetStateNames())
                {
                    Console.WriteLine(state.ToString());
                }
            }
            catch (SystemException exc)
            {
                Console.WriteLine(exc.ToString());
                Console.Write("Machine State Names Test ");
                return FAIL;
            }

            Console.WriteLine("2) Machine Current State:");
            Console.WriteLine(current.GetCurrentState().ToString());

            Console.WriteLine("2) Machine State Vectors:");

            try
            {
                foreach (AIState state in current.GetStateNames())
                {
                    Double[] pvector = new Double[current.GetStateNames().Count()];
                    pvector = current.GetPVector(state);
                    Console.Write(state.ToString() + ": ");
                    PrintProbVector(pvector);

                }
            }
            catch (SystemException exc)
            {
                Console.WriteLine(exc.ToString());
                Console.Write("Machine PVector Test ");
                return FAIL;
            }

            result = PASS;
            return result;
        }