예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
            }
        }
예제 #4
0
        /// <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);
        }