Пример #1
0
        public bool Verify(string data, string schema)
        {
            var verify = true;

            if (!string.IsNullOrEmpty(data))
            {
                var schemas = new XmlSchemaSet();
                schemas.Add("", XmlReader.Create(new StringReader(schema)));

                try
                {
                    var document = XDocument.Parse(data);
                    document.Validate(schemas, (sender, e) =>
                    {
                        Errors.AppendLine(e.Message);
                        verify = false;
                    });
                }
                catch (Exception exception)
                {
                    Errors.AppendLine("Ошибка в данных. " + exception.Message);
                    verify = false;
                }
            }
            else
            {
                throw new Exception("Не заданы данные для проверки");
            }
            return(verify);
        }
 private void ParsePerson(int lineNumber)
 {
     if (lineNumber < lines.Length)
     {
         var line     = lines[lineNumber];
         var elements = line.Split('|');
         if (elements[0].Trim().ToUpper() != "P")
         {
             Errors.AppendLine($"Unknown element: {elements[0].Trim()}, expected P");
             ParsePerson(lineNumber + 1);
         }
         else if (elements.Length != 3)
         {
             Errors.AppendLine($"Invalid line format: {line}");
             ParsePerson(lineNumber + 1);
         }
         else
         {
             Person p = new Person(elements[1].Trim(), elements[2].Trim());
             lineNumber++;
             ParsePersonInfo(p, ref lineNumber);
             People.Add(p);
             ParsePerson(lineNumber);
         }
     }
 }
Пример #3
0
        private void AddError(string msg, Exception exception)
        {
            Errors.AppendLine(msg);
            Errors.AppendLine(IncludeStackTraces ? exception.ToString() : Flatten(exception));

            ErrorCount++;
        }
Пример #4
0
        private Boolean TryCompile(Param param
                                   , out CompilerResults cr)
        {
            String code;

            cr = Compile(param, out code);

            if ((cr.Errors != null) && (cr.Errors.Count > 0))
            {
                foreach (CompilerError error in cr.Errors)
                {
                    Errors.AppendLine($"{error.ErrorText} (ln {error.Line}, col {error.Column})");
                }

                Errors.AppendLine();

                Int32 lineNumber = 1;

                code = LineRegex.Replace(code, match => $"{lineNumber++}: {match.Groups["Line"].Value}{Environment.NewLine}");

                Errors.AppendLine(code);

                return(false);
            }

#if DEBUG
            CopyAssembly(param, cr);
#endif

            return(true);
        }
Пример #5
0
 protected override void ValidateInternal()
 {
     if (!(Uri.TryCreate(BaseUrl, UriKind.Absolute, out Uri uriResult) &&
           (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps)))
     {
         Errors.AppendLine($"Setting {nameof(BaseUrl)} is not valid URL.");
     }
 }
Пример #6
0
        protected override void ValidateInternal()
        {
            Regex regex = new Regex(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");

            if (!regex.IsMatch(SenderEmail))
            {
                Errors.AppendLine($"{SenderEmail} is not valid email address.");
            }
        }
        private void ParseFamilyMember(FamilyMember person, ref int lineNumber)
        {
            if (lineNumber < lines.Length)
            {
                var line     = lines[lineNumber];
                var elements = line.Split('|');
                switch (elements[0].Trim().ToUpper())
                {
                case "P":
                case "F":
                    return;

                case "A":
                    Address address = ParseAddress(elements);
                    if (address != null)
                    {
                        person.Address = address;
                    }
                    else
                    {
                        Errors.AppendLine($"Invalid address format: {line}");
                    }
                    break;

                case "T":
                    Phones phoneNumbers = ParsePhoneNumbers(elements);
                    if (phoneNumbers != null)
                    {
                        person.PhoneNumbers.AddRange(phoneNumbers);
                    }
                    else
                    {
                        Errors.AppendLine($"Invalid Phone number line {line}");
                    }
                    break;

                default:
                    Errors.AppendLine($"Invalid line {line}");
                    break;
                }
            }
        }
Пример #8
0
        public void Release()
        {
            if ((TestContext.CurrentContext.Result.Outcome.Status != TestStatus.Passed && TestContext.CurrentContext.Result.Outcome.Status != TestStatus.Skipped) || !AssertsPassed)
            {
                foreach (var key in Info.Keys)
                {
                    Errors.Insert(0, $"{key} : {Info[key]}{Environment.NewLine}{Environment.NewLine}");
                }

                if (FileData != null)
                {
                    Errors.AppendLine("----------FILE DATA----------\r\n");
                    using (MemoryStream stream = new MemoryStream(FileData.ToArray()))
                    {
                        StreamReader sr = new StreamReader(stream);
                        Errors.AppendLine(sr.ReadToEnd().Replace(">", "&gt;").Replace("<", "&lt;"));
                    }
                }

                throw new AssertionException(AccumulatedErrorMessage);
            }
        }
Пример #9
0
 private void RegisterError(string exceptionMessage)
 {
     AssertsPassed = false;
     Errors.AppendLine(exceptionMessage);
 }
Пример #10
0
 private void RegisterError(String errorMessage)
 {
     AssertsPassed = false;
     Errors.AppendLine(errorMessage);
 }
        private void ParsePersonInfo(Person person, ref int lineNumber)
        {
            if (lineNumber < lines.Length)
            {
                var line     = lines[lineNumber];
                var elements = line.Split('|');
                switch (elements[0].Trim().ToUpper())
                {
                case "P":
                    return;

                case "T":
                    Phones phoneNumbers = ParsePhoneNumbers(elements);
                    if (phoneNumbers != null)
                    {
                        person.PhoneNumbers.AddRange(phoneNumbers);
                    }
                    else
                    {
                        Errors.AppendLine($"Invalid Phone number line {line}");
                    }
                    break;

                case "A":
                    Address address = ParseAddress(elements);
                    if (address != null)
                    {
                        person.Address = address;
                    }
                    else
                    {
                        Errors.AppendLine($"Invalid address format: {line}");
                    }
                    break;

                case "F":
                    if (elements.Length == 3)
                    {
                        FamilyMember familyMember = new FamilyMember(elements[1].Trim(), elements[2].Trim());
                        lineNumber++;
                        ParseFamilyMember(familyMember, ref lineNumber);
                        person.FamilyMembers.Add(familyMember);
                    }
                    else
                    {
                        Errors.AppendLine($"Invalid Family Member line {line}");
                        Errors.AppendLine("**** Parsing interrupted ****");
                        string errors = Errors.ToString();
                        Errors.Clear();
                        throw new ParsingInterruptedException(message: errors);
                    }
                    break;

                default:
                    Errors.AppendLine($"Invalid line {line}");
                    break;
                }
                lineNumber++;
                ParsePersonInfo(person, ref lineNumber);
            }
        }
Пример #12
0
 private void AddError(string msg)
 {
     Errors.AppendLine(msg);
     ErrorCount++;
 }