protected void AssertContainsOutput(TaskId task, params string[] expectedOutput) { var messages = from e in messageElements where e.Name == TaskAction.Output && task.MatchesTaskElement(e) select GetElementValue(e, "message").TrimEnd(); CollectionAssert.AreEqual(expectedOutput, messages); }
protected void AssertDoesNotContain(TaskId task, string action) { var messages = from e in messageElements where e.Name == action && task.MatchesTaskElement(e) select e; CollectionAssert.IsEmpty(messages); }
protected void AssertMessageOrder(TaskId task, params string[] messageTypes) { var messages = from m in messageElements where task.MatchesTaskElement(m) select m.Name.ToString(); CollectionAssert.IsSubsetOf(messageTypes, messages, "With task {0}", task); }
protected void AssertSingle(TaskId task, string messageType) { var messages = (from m in messageElements where m.Name == messageType && task.MatchesTaskElement(m) select m.Name.ToString()).ToList(); Assert.AreEqual(1, messages.Count, "Expected one item of {0} for task {1}", messageType, task); }
protected int GetMessageIndex(TaskId task, string messageType) { var indices = (messageElements.Select((e, i) => new { Element = e, Index = i }) .Where(x => x.Element.Name == messageType && task.MatchesTaskElement(x.Element)) .Select(x => x.Index)).ToList(); Assert.AreEqual(1, indices.Count, "Expected single message of type {0} for task {1}", messageType, task); return(indices.Single()); }
protected void AssertContainsOutput(TaskId task, string expectedOutput) { var messages = from e in messageElements where e.Name == TaskAction.Output && task.MatchesTaskElement(e) select GetElementValue(e, "message").TrimEnd(); var output = messages.Single(); Assert.AreEqual(expectedOutput, output); }
protected void AssertContainsException(TaskId task, string expectedType, string expectedExceptionMessage, string expectedStackTrace) { var expectedString = string.Format("{0}\n{1}\n{2}", expectedType, expectedExceptionMessage, expectedStackTrace); var messages = from e in messageElements where e.Name == TaskAction.Exception && task.MatchesTaskElement(e) select string.Format("{0}\n{1}\n{2}", e.Attribute("type").Value, GetElementValue(e, "message").Replace("\n", Environment.NewLine), GetElementValue(e, "stack-trace").Trim()); var output = messages.Join("\n---\n"); StringAssert.Contains(expectedString, output); }
protected void AssertContainsErrorFinal(TaskId task, string expectedMessage) { var messages = from e in messageElements where e.Name == TaskAction.Finish && task.MatchesTaskElement(e) select new { Result = e.Attribute("result").Value, Message = GetElementValue(e, "message") }; var result = messages.Last(); Assert.AreEqual(TaskResult.Error, result.Result); if (!string.IsNullOrEmpty(expectedMessage)) Assert.AreEqual(expectedMessage, result.Message); }
protected void AssertContainsErrorFinal(TaskId task, string expectedMessage) { var messages = from e in messageElements where e.Name == TaskAction.Finish && task.MatchesTaskElement(e) select new { Result = e.Attribute("result").Value, Message = GetElementValue(e, "message") }; var result = messages.Last(); Assert.AreEqual(TaskResult.Error, result.Result); if (!string.IsNullOrEmpty(expectedMessage)) { Assert.AreEqual(expectedMessage, result.Message); } }
protected void AssertContainsFinish(TaskId task, string expectedTaskResult, string expectedMessage = null) { var messages = (from e in messageElements where e.Name == TaskAction.Finish && task.MatchesTaskElement(e) select new { Result = e.Attribute("result").Value, Message = GetElementValue(e, "message") }).ToList(); Assert.AreEqual(1, messages.Count, "Expected single message of type {0} for task {1}", TaskAction.Finish, task); var result = messages.Single(); Assert.AreEqual(expectedTaskResult, result.Result); if (!string.IsNullOrEmpty(expectedMessage)) { Assert.AreEqual(expectedMessage, result.Message); } }
protected int GetMessageIndex(TaskId task, string messageType) { var indices = (messageElements.Select((e, i) => new {Element = e, Index = i}) .Where(x => x.Element.Name == messageType && task.MatchesTaskElement(x.Element)) .Select(x => x.Index)).ToList(); Assert.AreEqual(1, indices.Count, "Expected single message of type {0} for task {1}", messageType, task); return indices.Single(); }
protected void AssertContainsFinish(TaskId task, string expectedTaskResult, string expectedMessage = null) { var messages = (from e in messageElements where e.Name == TaskAction.Finish && task.MatchesTaskElement(e) select new { Result = e.Attribute("result").Value, Message = GetElementValue(e, "message") }).ToList(); Assert.AreEqual(1, messages.Count, "Expected single message of type {0} for task {1}", TaskAction.Finish, task); var result = messages.Single(); Assert.AreEqual(expectedTaskResult, result.Result); if (!string.IsNullOrEmpty(expectedMessage)) Assert.AreEqual(expectedMessage, result.Message); }