public void AppendAndReplaceValue_GivenInitialSuccessAndFailureParameter_ShouldReturnFailure() { // Arrange var originalResult = new Result<string> { Success = true }; var appendedResult = new Result<string> { Success = false, Value = "appended value" }; // Act var returnedResult = originalResult.AppendAndReplaceValue(appendedResult); // Assert Assert.IsFalse(originalResult.Success); Assert.IsFalse(returnedResult.Success); Assert.AreEqual(appendedResult.Value, originalResult.Value); Assert.AreEqual(appendedResult.Value, returnedResult.Value); }
public void AppendAndReplaceValue_GivenMessage_ShouldAddMessage() { // Arrange var originalMessage = "original message"; var originalResult = new Result<string> { Message = originalMessage }; var appendedMessage = "appended message"; var appendedResult = new Result<string> { Message = appendedMessage, Value = "appended value" }; // Act var returnedResult = originalResult.AppendAndReplaceValue(appendedResult); // Assert Assert.AreEqual(2, returnedResult.GetMessages().Count()); Assert.AreEqual(originalMessage, returnedResult.GetMessages().ElementAt(0)); Assert.AreEqual(appendedMessage, returnedResult.GetMessages().ElementAt(1)); Assert.AreEqual(2, originalResult.GetMessages().Count()); Assert.AreEqual(originalMessage, originalResult.GetMessages().ElementAt(0)); Assert.AreEqual(appendedMessage, originalResult.GetMessages().ElementAt(1)); Assert.AreEqual(appendedResult.Value, originalResult.Value); Assert.AreEqual(appendedResult.Value, returnedResult.Value); }