Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            var packagesRepository = new PackageRepository();

            Parser.Default
            .ParseArguments <Options>(args)
            .WithParsed(o =>
            {
                foreach (var package in FilesScanner.GetAllPackages(new [] { o.RepositoryPath }, false))
                {
                    packagesRepository.AddPackage(package);
                }

                var localPackages      = FilesScanner.GetAllPackages(new [] { o.Path }, true);
                var structureValidator = new StructureValidator();

                var validationErrors = structureValidator.ValidateStructure(localPackages);
                foreach (var validationError in structureValidator.ValidateStructure(localPackages))
                {
                    Console.WriteLine(validationError);
                }

                if (validationErrors.Any())
                {
                    return;
                }

                HandleVersionSynchronization(localPackages);
                HandleCycles(FilesScanner.GetAllPackages(new [] { o.Path }, true), packagesRepository, o.Target);

                localPackages        = FilesScanner.GetAllPackages(new [] { o.Path }, true);
                var resolvedPackages = ResolvePackages(PackageRepository.Create(localPackages), packagesRepository, o.Target);
                Run(resolvedPackages);
            });
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            Console.Write("Путь до файла валидации (XSD, DTD): ");

            var validationFilePath = Console.ReadLine();

            var validatorType = GetValidator();

            var program = new Program(validatorType);

            if (validatorType is XsdValidator)
            {
                var structureValidator = new StructureValidator();
                structureValidator.OnError += wrongElement =>
                {
                    Console.WriteLine("Ошибка структуры XSD");
                    Console.WriteLine(wrongElement);
                };

                var structureValidatorResult = structureValidator.Validate(validationFilePath);

                if (!structureValidatorResult)
                {
                    Console.WriteLine("Неправильная вложенность елементов");
                    Console.ReadKey();
                }
            }


            Console.Write("Путь до XML файла: ");

            var xmlPath = Console.ReadLine();

            program.Validator.OnValidationError += error =>
            {
                Console.WriteLine("Ошибка валидации XML");
                Console.WriteLine(error);
            };

            var result = false;

            try
            {
                program.Validator.Load(validationFilePath);
                result = program.Validator.Validate(xmlPath);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine(result ? "Валидация успешна" : "Валидация завершилась с ошибками");
            Console.ReadKey();
        }
Ejemplo n.º 3
0
        public void Validate_WhenMultipleMinorLocalVersions_ShouldReturnError()
        {
            var structureValidator = new StructureValidator();

            var v1     = new Version(1, 0, 1);
            var v2     = new Version(1, 0, 2);
            var actual = structureValidator.ValidateStructure(
                new[]
            {
                new PackageMeta("", true, new PackageInfo {
                    Name = "A", Version = v1
                }),
                new PackageMeta("", true, new PackageInfo {
                    Name = "A", Version = v2
                })
            });

            Assert.That(actual, Has.Length.EqualTo(1));
            Assert.That(actual, Has.Some.Matches <StructureValidator.ValidationError>(
                            x => x.Description.Contains(v1.ToString()) &&
                            x.Description.Contains(v2.ToString())));
        }