public void RequiredBodyFieldMissing() { var dto = new GetWidgetBatchRequestDto(); dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetRequiredFieldErrorMessage("ids")); }
/// <summary> /// Asserts that the subject result is equivalent to the expected result. /// </summary> public AndConstraint <TAssertions> BeResult(TServiceResult?expected) { Execute.Assertion .ForCondition(ServiceDataUtility.AreEquivalentResults(Subject, expected)) .FailWith("Expected {context:service result} to be \n {0}\n but found\n {1}", expected, Subject); return(new AndConstraint <TAssertions>((TAssertions)this)); }
private string?GetValidationErrorMessage() { if (Name == null) { return(ServiceDataUtility.GetRequiredFieldErrorMessage("name")); } if (Id != null && Id < 0) { return(ServiceDataUtility.GetInvalidFieldErrorMessage("id", "Must be at least 0.")); } if (Name != null && Name.Length < 1) { return(ServiceDataUtility.GetInvalidFieldErrorMessage("name", "Length must be at least 1.")); } if (Name != null && Name.Length > 10) { return(ServiceDataUtility.GetInvalidFieldErrorMessage("name", "Length must be at most 10.")); } if (Name != null && !s_validNameRegex.IsMatch(Name)) { return(ServiceDataUtility.GetInvalidFieldErrorMessage("name", $"Must match regular expression: {s_validNameRegex}")); } return(null); }
public override bool IsEquivalentTo(TestDto?other) { return(other != null && other.Id == Id && other.Name == Name && ServiceDataUtility.AreEquivalentArrays(other.Children, Children, ServiceDataUtility.AreEquivalentDtos)); }
/// <summary> /// Determines if two DTOs are equivalent. /// </summary> public override bool IsEquivalentTo(KitchenSinkDto other) { return(other != null && ServiceDataUtility.AreEquivalentFieldValues(Matrix, other.Matrix) && ServiceDataUtility.AreEquivalentFieldValues(Crazy, other.Crazy) && OldField == other.OldField); }
public override bool IsEquivalentTo(CreateWidgetResponseDto?other) { return(other != null && ServiceDataUtility.AreEquivalentDtos(Widget, other.Widget) && Url == other.Url && ETag == other.ETag); }
public void KitchenSinkEquivalence() { var innerArray = new[] { "bar", "baz" }; var response1 = new KitchenRequestDto { Sink = new KitchenSinkDto { Matrix = new[] { new[] { new[] { 1, 2 }, new[] { 3, 4 } }, new[] { new[] { 5, 6 }, new[] { 7, 8 } } }, Crazy = new[] { ServiceResult.Success <IReadOnlyList <IReadOnlyDictionary <string, IReadOnlyList <string> > > >(new[] { (IReadOnlyDictionary <string, IReadOnlyList <string> >) new Dictionary <string, IReadOnlyList <string> > { ["foo"] = innerArray }, }), }, }, }; var response2 = ServiceDataUtility.Clone(response1); ServiceDataUtility.AreEquivalentFieldValues(response1, response2).Should().BeTrue(); innerArray[1] = "xyzzy"; ServiceDataUtility.AreEquivalentFieldValues(response1, response2).Should().BeFalse(); }
/// <summary> /// Determines if two DTOs are equivalent. /// </summary> public override bool IsEquivalentTo(PreferenceDto other) { return(other != null && IsBoolean == other.IsBoolean && ServiceDataUtility.AreEquivalentFieldValues(Booleans, other.Booleans) && Double == other.Double && ServiceDataUtility.AreEquivalentFieldValues(Doubles, other.Doubles) && Integer == other.Integer && ServiceDataUtility.AreEquivalentFieldValues(Integers, other.Integers) && String == other.String && ServiceDataUtility.AreEquivalentFieldValues(Strings, other.Strings) && ServiceDataUtility.AreEquivalentBytes(Bytes, other.Bytes) && ServiceDataUtility.AreEquivalentFieldValues(Byteses, other.Byteses) && WidgetField == other.WidgetField && ServiceDataUtility.AreEquivalentFieldValues(WidgetFields, other.WidgetFields) && ServiceDataUtility.AreEquivalentDtos(Widget, other.Widget) && ServiceDataUtility.AreEquivalentFieldValues(Widgets, other.Widgets) && ServiceDataUtility.AreEquivalentResults(Result, other.Result) && ServiceDataUtility.AreEquivalentFieldValues(Results, other.Results) && BigInteger == other.BigInteger && ServiceDataUtility.AreEquivalentFieldValues(BigIntegers, other.BigIntegers) && Decimal == other.Decimal && ServiceDataUtility.AreEquivalentFieldValues(Decimals, other.Decimals) && ServiceDataUtility.AreEquivalentDtos(Error, other.Error) && ServiceDataUtility.AreEquivalentFieldValues(Errors, other.Errors) && ServiceDataUtility.AreEquivalentObjects(Object, other.Object) && ServiceDataUtility.AreEquivalentFieldValues(Objects, other.Objects) && ServiceDataUtility.AreEquivalentFieldValues(NamedStrings, other.NamedStrings) && ServiceDataUtility.AreEquivalentFieldValues(NamedWidgets, other.NamedWidgets)); }
public override bool IsEquivalentTo(GetWidgetResponseDto?other) { return(other != null && ServiceDataUtility.AreEquivalentDtos(Widget, other.Widget) && ETag == other.ETag && NotModified == other.NotModified); }
/// <summary> /// Determines if two DTOs are equivalent. /// </summary> public override bool IsEquivalentTo(EditWidgetRequestDto other) { return(other != null && Id == other.Id && ServiceDataUtility.AreEquivalentFieldValues(Ops, other.Ops) && Weight == other.Weight); }
/// <summary> /// Determines if two DTOs are equivalent. /// </summary> public override bool IsEquivalentTo(MixedResponseDto other) { return(other != null && Header == other.Header && Normal == other.Normal && ServiceDataUtility.AreEquivalentObjects(Body, other.Body) && Empty == other.Empty); }
public void RequiredWidgetMatrixNameMissing() { var dto = CreateRequiredRequest(); dto.WidgetMatrix = new[] { new[] { new WidgetDto() } }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("widgetMatrix[0][0]", ServiceDataUtility.GetRequiredFieldErrorMessage("name"))); }
public void ValidateWidgetIdIsPositive() { var dto = CreateWidget(); dto.Id = -1; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("id", "Must be at least 0.")); }
public void RequiredWidgetResultsNameMissing() { var dto = CreateRequiredRequest(); dto.WidgetResults = new[] { ServiceResult.Success(new WidgetDto()) }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("widgetResults[0]", ServiceDataUtility.GetRequiredFieldErrorMessage("name"))); }
public void RequiredNormalResponseFieldMissing() { var dto = CreateRequiredResponse(); dto.Normal = null; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetRequiredFieldErrorMessage("normal")); }
public void RequiredQueryFieldMissing() { var dto = CreateRequiredRequest(); dto.Query = null; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetRequiredFieldErrorMessage("query")); }
public void ValidateFailsMoreThanCount() { var dto = CreateRequiredRequest(); dto.Point = new[] { 0.0, 1.0, 2.0 }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("point", "Count must be at most 2.")); }
/// <summary> /// Determines if two DTOs are equivalent. /// </summary> public override bool IsEquivalentTo(GetWidgetsResponseDto other) { return(other != null && ServiceDataUtility.AreEquivalentFieldValues(Widgets, other.Widgets) && Total == other.Total && TotalWeight == other.TotalWeight && ServiceDataUtility.AreEquivalentDtos(Job, other.Job)); }
private string?GetValidationErrorMessage() { if (Ids == null) { return(ServiceDataUtility.GetRequiredFieldErrorMessage("ids")); } return(null); }
public void ValidateDeleteWidgetHasPositiveId() { var dto = new DeleteWidgetRequestDto { Id = -1 }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("id", "Must be at least 0.")); }
public void ServiceResultNoValueClone() { var result = ServiceResult.Success(); var clone = Serializer.Clone(result); clone.Should().NotBeSameAs(result); ServiceDataUtility.AreEquivalentResults(clone, result).Should().Be(true); }
public void ServiceResultFailureClone() { var result = ServiceResult.Failure(ServiceErrors.CreateConflict()); var clone = Serializer.Clone(result); clone.Should().NotBeSameAs(result); ServiceDataUtility.AreEquivalentResults(clone, result).Should().Be(true); }
private string?GetValidationErrorMessage() { if (Id != null && Id < 0) { return(ServiceDataUtility.GetInvalidFieldErrorMessage("id", "Must be at least 0.")); } return(null); }
private string?GetValidationErrorMessage() { if (Enum != null && !Enum.Value.IsDefined()) { return(ServiceDataUtility.GetInvalidFieldErrorMessage("enum", "Must be an expected enum value.")); } return(null); }
public override bool IsEquivalentTo(ValueDto?other) { return(other != null && BooleanValue == other.BooleanValue && StringValue == other.StringValue && ServiceDataUtility.AreEquivalentFieldValues(ErrorArrayValue, other.ErrorArrayValue) && ServiceDataUtility.AreEquivalentFieldValues(BooleanMapValue, other.BooleanMapValue) && ServiceDataUtility.AreEquivalentFieldValues(ErrorMapValue, other.ErrorMapValue)); }
public void ValidateWidgetNameLength() { var dto = new WidgetDto { Id = 1, Name = "ExcessivelyLongName" }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("name", "Length must be at most 10.")); }
public void ValidateWidgetNameMatchesPattern() { var dto = new WidgetDto { Id = 1, Name = "%%widget%%" }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("name", "Must match regular expression: ^[_a-zA-Z0-9]+$")); }
public void ValidateBatchWidgetFailsExceedingMaximumIds() { var dto = new GetWidgetBatchRequestDto { Ids = new[] { 1, 2, 3, 4, 50, 200, 300, 500, 700, 1000, 1001 }, }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("ids", "Count must be at most 10.")); }
public void RequiredWidgetMapNameMissing() { var dto = CreateRequiredRequest(); dto.WidgetMap = new Dictionary <string, WidgetDto> { { "key", new WidgetDto() } }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("widgetMap.key", ServiceDataUtility.GetRequiredFieldErrorMessage("name"))); }
public void RequiredHasWidgetNameMissing() { var dto = CreateRequiredRequest(); dto.HasWidget = new HasWidgetDto { Widget = new WidgetDto() }; dto.Validate(out var errorMessage).Should().BeFalse(); errorMessage.Should().Be(ServiceDataUtility.GetInvalidFieldErrorMessage("hasWidget", ServiceDataUtility.GetInvalidFieldErrorMessage("widget", ServiceDataUtility.GetRequiredFieldErrorMessage("name")))); }