public void MergeResult_ResultWithErrorsAsResultArgument_ShouldReturnResultWithCombinedErrors() { var expectations = Expectations.GetCompositionErrors(); foreach (var e in expectations) { var result1 = CreateCompositionResult(e); var result2 = CreateCompositionResult(e); var mergedResult = result1.MergeResult(result2); var mergedErrors = result1.Errors.Concat(result2.Errors); EnumerableAssert.AreSequenceSame(mergedErrors, mergedResult.Errors); Assert.AreEqual(mergedResult.Succeeded, result1.Succeeded | result2.Succeeded); } }
public void Value_TwoDifferentValuesAsErrorsArgument_ShouldThrowComposition() { var errorIds1 = Expectations.GetEnumValues <CompositionErrorId>(); var errorIds2 = Expectations.GetEnumValues <CompositionErrorId>(); for (int i = 0; i < errorIds1.Count(); i++) { var errorId1 = errorIds1.ElementAt(i); var errorId2 = errorIds1.ElementAt(errorIds2.Count() - 1 - i); var result = CreateCompositionResult <string>(errorId1, errorId2); CompositionAssert.ThrowsErrors((ErrorId)errorId1, (ErrorId)errorId2, () => { var value = result.Value; }); } }
public void Constructor5_ValuesAsErrorsArgument_ShouldSetSucceededPropertyToTrueIfThereAreErrors() { var errors = Expectations.GetCompositionErrors(); foreach (var e in errors) { var result = new CompositionResult <string>("Value", e); if (e.Count() > 0) { Assert.False(result.Succeeded); } else { Assert.True(result.Succeeded); } } }
public void Message_ShouldFormatCountOfRootCausesUsingTheCurrentCulture() { var cultures = Expectations.GetCulturesForFormatting(); foreach (var culture in cultures) { using (new CurrentCultureContext(culture)) { var errors = CreateCompositionErrors(1000); var exception = CreateCompositionException(errors); AssertMessage(exception, 1000, culture); errors = CreateCompositionErrors(1); exception = CreateCompositionException(errors); AssertMessage(exception, 1, culture); } } }
public void Message_ShouldFormatCountOfRootCausesUsingTheCurrentCulture() { IEnumerable <CultureInfo> cultures = Expectations.GetCulturesForFormatting(); foreach (CultureInfo culture in cultures) { // Save old culture and set a fixed culture for object instantiation using (new ThreadCultureChange(culture)) { CompositionError[] errors = CreateCompositionErrors(1000); CompositionException exception = CreateCompositionException(errors); AssertMessage(exception, 1000, culture); errors = CreateCompositionErrors(1); exception = CreateCompositionException(errors); AssertMessage(exception, 1, culture); } } }