private static void AssertValuesMatchExpected <TValue>( OperationResultOf <TValue> opRes, bool expectedSuccessIndication, string expectedErrorMessage, TValue expectedValue) { Assert.AreEqual(expectedValue, opRes.Value, $"Expected {nameof(opRes.Value)} '{opRes.Value}' to match '{expectedValue}'"); Assert.AreEqual(expectedSuccessIndication, opRes.Success, $"Expected {nameof(opRes.Success)} '{opRes.Success}' to match '{expectedSuccessIndication}'"); Assert.AreEqual(expectedErrorMessage, opRes.ErrorMessage, $"Expected {nameof(opRes.ErrorMessage)} '{opRes.ErrorMessage}' to match '{expectedErrorMessage}'"); }
public void FailedOpRes_ImplicitCastToBool_False() { //Arrange var opRes = new OperationResultOf <int>(success: false); //Act bool success = opRes; //Assert Assert.IsFalse(success); }
public void SuccessfulOpRes_ImplicitCastToBool_True() { //Arrange var opRes = new OperationResultOf <int>(success: true, value: 10); //Act bool success = opRes; //Assert Assert.IsTrue(success); }
public void CtorWithExceptionNoErrorMessage_FailedOpResWithMatchingErrorMessage() { //Arrange var exception = new Exception(); //Act var opRes = new OperationResultOf <int>(exception); //Assert Assert.IsFalse(opRes.Success); Assert.AreEqual(exception.Message, opRes.ErrorMessage); }
public void SuccessfulOpRes_ImplicitOperationResult_PropertiesMatch() { //Arrange var opResWithValue = new OperationResultOf <int>(success: true, value: 10); //Act OperationResult opRes = opResWithValue; //Assert Assert.AreEqual(opResWithValue.Success, opRes.Success); Assert.AreEqual(opResWithValue.ErrorMessage, opRes.ErrorMessage); }
public void CtorWithExceptionInnerExceptionWithErrorMessage_FailedOpResWithMatchingErrorMessage() { //Arrange var exception = new Exception("Error message 1", innerException: new Exception("Error message 2")); //Act var opRes = new OperationResultOf <int>(exception); //Assert Assert.IsFalse(opRes.Success); // ReSharper disable once PossibleNullReferenceException Assert.AreEqual(exception.InnerException.Message, opRes.ErrorMessage); }
public void FailedOpRes_ImplicitOperationResult_PropertiesMatch() { //Arrange var opResWithValue = new OperationResultOf <int>(success: false, errorMessage: "Some error message "); //Act OperationResult opRes = opResWithValue; //Assert Assert.AreEqual(opResWithValue.Success, opRes.Success); Assert.AreEqual(opResWithValue.ErrorMessage, opRes.ErrorMessage); }
private static void AssertAreEqual <T>( OperationResultOf <T> opRes, bool expectedSuccessIndication, T expectedValue, bool actualSuccessIndication, T actualValue, OperationResult actualOpRes) { Assert.AreEqual(expectedSuccessIndication, actualSuccessIndication); Assert.AreEqual(expectedValue, actualValue); Assert.AreEqual(opRes.Success, actualOpRes.Success); Assert.AreEqual(opRes.ErrorMessage, actualOpRes.ErrorMessage); }
public void RefType_AsSuccessfulOpResOfBaseType_SuccessfulOperationResultOf() { //Arrange var value = new TestInterfaceImpl(4); //Act OperationResultOf <ITestInterface> opRes = value.AsSuccessfulOpRes <ITestInterface>(); //Assert Assert.IsTrue(opRes.Success); Assert.IsNull(opRes.ErrorMessage); Assert.AreEqual(value, opRes.Value); }
public void ValueTypeUseValueCtor_SuccessfulOperationResult() { //Arrange const bool expectedSuccessIndication = true; const string expcectedErrorMessage = null; const int expectedValue = 2; //Act var opRes = new OperationResultOf <int>(expectedValue); //Assert AssertValuesMatchExpected(opRes, expectedSuccessIndication, expcectedErrorMessage, expectedValue); }
public void RefTypeValueTypeUseExceptionCtor_FailedOperationResultWithMatchingMessageCreated() { //Arrange const bool expectedSuccessIndication = false; const string expectedErrorMessage = "Some error message"; const string expectedValue = default; //Act var opRes = new OperationResultOf <string>( new Exception(expectedErrorMessage)); //Assert AssertValuesMatchExpected(opRes, expectedSuccessIndication, expectedErrorMessage, expectedValue); }
public void ValueTypeUseFullCtor_MatchingValuesOperationResultCreated() { //Arrange const bool expectedSuccessIndication = false; const string expectedErrorMessage = "Some error message"; const int expectedValue = 2; //Act var opRes = new OperationResultOf <int>( expectedSuccessIndication, expectedValue, expectedErrorMessage); //Assert AssertValuesMatchExpected(opRes, expectedSuccessIndication, expectedErrorMessage, expectedValue); }
public void SuccessfulValueTypeOpRes_ImplicitCast_MatchingExpected() { //Arrange const bool expectedSuccessIndication = true; const string expectedErrorMessage = null; const int expectedValue = 2; var opRes = new OperationResultOf <int>( expectedSuccessIndication, expectedValue, errorMessage: expectedErrorMessage); //Act bool actualSuccessIndication = opRes; int actualValue = opRes.Value; OperationResult opResNoValue = opRes; //Assert AssertAreEqual(opRes, expectedSuccessIndication, expectedValue, actualSuccessIndication, actualValue, opResNoValue); }
public void FailedRefTypeOpRes_ImplicitCast_MatchingExpected() { //Arrange const bool expectedSuccessIndication = false; const string expectedErrorMessage = "Some error message"; const string expectedValue = default; var opRes = new OperationResultOf <string>( expectedSuccessIndication, expectedValue, expectedErrorMessage); //Act bool actualSuccessIndication = opRes; string actualValue = opRes.Value; OperationResult opResNoValue = opRes; //Assert AssertAreEqual(opRes, expectedSuccessIndication, expectedValue, actualSuccessIndication, actualValue, opResNoValue); }