Exemple #1
0
        private string DumpQueue()
        {
            StringBuilder sb = new StringBuilder();

            foreach (AvailableEvent entry in queue.GetEnumerator())
            {
                sb.AppendLine(entry.ToString());
            }
            return(sb.ToString());
        }
        /// <summary>
        /// Upon observation timeout, checks current event observation queue status and decides
        /// whether case should pass or fail.
        /// </summary>
        /// <param name="isAcceptingState"></param>
        /// <param name="expected"></param>
        public void CheckObservationTimeout(bool isAcceptingState, params ExpectedEvent[] expected)
        {
            bool queueEmpty = eventQueue.GetEnumerator().Count == 0;

            if (isAcceptingState && queueEmpty)
            {
                // empty queue at an accepting state, pass case
                StringBuilder diag = new StringBuilder();
                diag.AppendLine("Observation timeout while expecting events:");
                foreach (var e in expected)
                {
                    diag.AppendLine("\t" + e.ToString());
                }
                this.Log.Comment(diag.ToString());
                return;
            }
            else
            {
                StringBuilder diag = new StringBuilder();
                diag.AppendLine("Expected event didn't come within configured timeout.");

                diag.AppendLine("Expected events:");
                foreach (var e in expected)
                {
                    diag.AppendLine("\t" + e.ToString());
                }

                diag.AppendLine("Observed events:");
                foreach (var o in eventQueue.GetEnumerator())
                {
                    diag.AppendLine("\t" + o.ToString());
                }

                InternalAssert(false, diag.ToString());
            }
        }