//tests

        public void StopwatchTest(MainForm frm)
        {
            Stopwatch timer       = new Stopwatch();
            WaitTimer wait        = new WaitTimer();
            long      loopMax     = 1000000000;
            long      loopModulus = 100000000;
            long      modNum      = -1;

            try
            {
                _msg.Length = 0;
                _msg.Append("StopwatchTest started ...\r\n");
                WriteMessageToLog(_msg.ToString());

                timer.Start();

                _msg.Length = 0;
                _msg.Append("\r\nTimed wait ... \r\n");
                WriteMessageToLog(_msg.ToString());
                wait.Wait((long)2);

                _msg.Length = 0;
                _msg.Append("Elapsed Time:         ");
                _msg.Append(timer.FormattedElapsedTime);
                _msg.Append(Environment.NewLine);
                _msg.Append("Elapsed milliseconds: ");
                _msg.Append(timer.ElapsedMilliseconds.ToString("#,##0"));
                _msg.Append(Environment.NewLine);
                WriteMessageToLog(_msg.ToString());

                _msg.Length = 0;
                _msg.Append("\r\nLooping ");
                _msg.Append(loopMax.ToString("#,##0"));
                _msg.Append(" times... \r\n");
                WriteMessageToLog(_msg.ToString());

                for (long num = 1; num <= loopMax; num++)
                {
                    modNum = (num % loopModulus);
                    if (modNum == 0)
                    {
                        _msg.Length = 0;
                        _msg.Append("Loop count = ");
                        _msg.Append(num.ToString("#,##0"));
                        _msg.Append(" Elapsed time to this point: ");
                        _msg.Append(timer.FormattedElapsedTime);
                        WriteMessageToLog(_msg.ToString());
                    }
                }

                _msg.Length = 0;
                _msg.Append("Elapsed Time:         ");
                _msg.Append(timer.FormattedElapsedTime);
                _msg.Append(Environment.NewLine);
                _msg.Append("Elapsed milliseconds: ");
                _msg.Append(timer.ElapsedMilliseconds.ToString("#,##0"));
                _msg.Append(Environment.NewLine);
                WriteMessageToLog(_msg.ToString());

                timer.Stop();
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                WriteMessageToLog(_msg.ToString());
                AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog);
            }
            finally
            {
                _msg.Length = 0;
                _msg.Append("\r\n... StopwatchTest finished.");
                WriteMessageToLog(_msg.ToString());
            }
        }