/// <summary> /// Tvrdi, ze retazec obsahuje specifikovane ocakavane hodnoty /// </summary> /// <param name="actualContent">Aktualny Http content</param> /// <param name="name">Nazvy property objektov</param> /// <param name="value">Specifikovane hodnoty</param> /// <param name="failedValidationAction">Nastavenie chybovej hlasky</param> public static void ShouldContainEquivalentOf( HttpContent actualContent, IEnumerable <string> names, long value, Action <string, string, string, string> failedValidationAction) { int i = 0; JToken actualObjectValue = default(long); var actualResponseValuesToArray = Check(actualContent, failedValidationAction); actualResponseValuesToArray.Children().ForEach(arg => { actualObjectValue = GetJsonTokenNested <long>(arg.Value <JToken>(), names); bool result = CommonValidator.ValidateBinding(() => actualObjectValue.ToString().Should().ContainEquivalentOf(value.ToString())); if (!result) { failedValidationAction( $"actual object value with path [JSON].{arg.Path}.{string.Join(".", names)}: '{actualObjectValue}' ", $"should Contain Equivalent Of with expected value '{value}', ", "but was in fact different!", arg.Parent[i].ToString()); } i++; }); Reporter.Pass($"Check actual [JSON].[value].[start/end - 1/{actualResponseValuesToArray.Count}].{string.Join(".", names)}: '{actualObjectValue}' Contain Equivalent Of '{value}' ", CodeBlockType.Label); }
/// <summary> /// Tvrdi, ze hodnota je false /// </summary> /// <param name="actualContent">Aktualny Http content</param> /// <param name="name">Nazvy property objektov</param> /// <param name="failedValidationAction">Nastavenie chybovej hlasky</param> public static void ShouldBeFalse( HttpContent actualContent, string name, Action <string, string, string, string> failedValidationAction) { int i = 0; var actualObjectValue = default(bool); var actualResponseValuesToArray = Check(actualContent, failedValidationAction); actualResponseValuesToArray.Children().ForEach(arg => { actualObjectValue = GetJsonToken <bool>(arg.Value <JToken>(), name); bool result = CommonValidator.ValidateBinding(() => actualObjectValue.Should().BeFalse()); if (!result) { failedValidationAction( $"actual object value with path [JSON].{arg.Path}.{name}: '{actualObjectValue}' ", $"should Be False with expected value, ", "but was in fact different!", arg.Parent[i].ToString()); } i++; }); Reporter.Pass($"Check actual [JSON].[value].[start/end - 1/{actualResponseValuesToArray.Count}].{name}: '{actualObjectValue}' Be False", CodeBlockType.Label); }
/// <summary> /// Tvrdi, ze hodnota nie je null /// </summary> /// <param name="actualContent">Aktualny Http content</param> /// <param name="failedValidationAction">Nastavenie chybovej hlasky</param> public static void ShouldNotBeNull( HttpContent actualContent, Action <string, string, string, string> failedValidationAction ) { var actualResponseValuesToString = actualContent.ReadAsStringAsync().Result; bool result = CommonValidator.ValidateBinding(() => actualResponseValuesToString.Should().NotBeNull()); if (!result) { failedValidationAction( $"actual object value ", $"should Be Not null, ", "but was in fact different!", string.Empty); } }
/// <summary> /// Tvrdenie, ze pocet poloziek v kolekcii je mensi alebo rovnaky ako ocakavana hodnota /// </summary> /// <param name="actualContent">Aktualny Http content</param> /// <param name="value">Ocakavana hodnota objektu</param> /// <param name="failedValidationAction">Nastavenie chybovej hlasky</param> public static void ShouldHaveCountLessOrEqualTo( HttpContent actualContent, int value, Action <string, string, string, string> failedValidationAction) { var actualResponseValuesToArray = Check(actualContent, failedValidationAction); bool result = CommonValidator.ValidateBinding(() => actualResponseValuesToArray.Count.As <JArray>().Should().HaveCountLessOrEqualTo(value)); if (!result) { failedValidationAction( $"actual object values [{actualResponseValuesToArray.Count}] ", $"should Have Count Less Or Equal To with expected [{value}], ", $"but was in fact different!", string.Empty); } Reporter.Pass($"Check actual [{actualResponseValuesToArray.Count}] should have count less or equal To [{value}] ", CodeBlockType.Label); }