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()); } }