[smuxi: 169/179] Engine-Tests: support assert fail messages for MessageBuilderTests.TestMessage()
- From: Mirco M. M. Bauer <mmmbauer src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [smuxi: 169/179] Engine-Tests: support assert fail messages for MessageBuilderTests.TestMessage()
- Date: Sat, 4 Nov 2017 05:51:24 +0000 (UTC)
commit 1422db18ae15a4e644897d8fdc9490d2a2fd31d1
Author: Mirco Bauer <meebey meebey net>
Date: Thu Oct 5 13:56:13 2017 +0800
Engine-Tests: support assert fail messages for MessageBuilderTests.TestMessage()
When MessageBuilderTests.TestMessage() is called from a [Test] method in a
dynamic way, like inside a loop then you can't tell on which case / loop
iteration it failed for. Thus we support now an optional parameter for the
TestMessage() method that allows you to specify an assert fail message that is
used as a prefix for all the Assert.*() calls it performs.
src/Engine-Tests/MessageBuilderTests.cs | 23 ++++++++++++++++++-----
1 files changed, 18 insertions(+), 5 deletions(-)
---
diff --git a/src/Engine-Tests/MessageBuilderTests.cs b/src/Engine-Tests/MessageBuilderTests.cs
index 432537e..8a877f4 100644
--- a/src/Engine-Tests/MessageBuilderTests.cs
+++ b/src/Engine-Tests/MessageBuilderTests.cs
@@ -310,7 +310,9 @@ namespace Smuxi.Engine
builder.AppendFormat("{{{{virtual {0}}}}}", "hugs");
}
- void TestMessage(string message, MessageModel expectedMsg, MessageBuilderSettings settings = null)
+ void TestMessage(string message, MessageModel expectedMsg,
+ MessageBuilderSettings settings = null,
+ string assertFailMessage = null)
{
var builder = new MessageBuilder();
if (settings != null) {
@@ -319,12 +321,23 @@ namespace Smuxi.Engine
builder.TimeStamp = DateTime.MinValue;
builder.AppendMessage(message);
var actualMsg = builder.ToMessage();
- Assert.AreEqual(expectedMsg.GetType(), actualMsg.GetType(), "The message type does not match");
- Assert.AreEqual(expectedMsg.MessageParts.Count, actualMsg.MessageParts.Count, "The number of
message parts do not match");
+
+ string assertFailMessagePrefix = String.Empty;
+ if (assertFailMessage != null) {
+ assertFailMessagePrefix = assertFailMessage + ": ";
+ }
+
+ Assert.AreEqual(expectedMsg.GetType(), actualMsg.GetType(),
+ assertFailMessagePrefix + "The message type does not match");
+ Assert.AreEqual(expectedMsg.MessageParts.Count, actualMsg.MessageParts.Count,
+ assertFailMessagePrefix + "The number of message parts do not match");
for (int i = 0; i < expectedMsg.MessageParts.Count; i++) {
- Assert.AreEqual(expectedMsg.MessageParts[i].GetType(), actualMsg.MessageParts[i].GetType(),
"The type of the message part does not match");
+ Assert.AreEqual(expectedMsg.MessageParts[i].GetType(),
+ actualMsg.MessageParts[i].GetType(),
+ assertFailMessagePrefix + "The type of the message part does not match");
}
- Assert.AreEqual(expectedMsg, actualMsg);
+ Assert.AreEqual(expectedMsg, actualMsg,
+ assertFailMessagePrefix + "The message objects are not equal");
}
[Test]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]