private bool validateOnly(RunInput input, SystemRecycled systemRecycled)
        {
            var fixtures = buildFixturesWithOverrides(input, systemRecycled);
            var library  = FixtureLibrary.From(fixtures);

            var specs = HierarchyLoader.ReadHierarchy(input.SpecPath).GetAllSpecs().ToArray();

            SpecificationPostProcessor.PostProcessAll(specs, library);

            var errored = specs.Where(x => x.errors.Any()).ToArray();

            if (errored.Any())
            {
                ConsoleWriter.Write(ConsoleColor.Red, "Errors Detected!");

                foreach (var errorSpec in errored)
                {
                    ConsoleWriter.Write(ConsoleColor.Yellow, errorSpec.Filename);
                    foreach (var error in errorSpec.errors)
                    {
                        Console.WriteLine($"{error.location.Join(" / ")} -> {error.message}");
                    }
                }

                return(false);
            }
            else
            {
                ConsoleWriter.Write(ConsoleColor.Green, "No validation errors or missing data detected in this project");
                return(true);
            }
        }
        public void PostProcessAll(IEnumerable <Specification> specifications)
        {
            var combined = FixtureLibrary.From(CombinedFixtures());

            lock (_processorLock)
            {
                SpecificationPostProcessor.PostProcessAll(specifications, combined);
            }
        }
Esempio n. 3
0
        public override bool Execute(StorytellerInput input)
        {
            var running = RunningSystem.Create(input.System);

            using (running.System)
            {
                var library = input.BuildFixturesWithOverrides(running.RecycledMessage);



                var specs = HierarchyLoader.ReadHierarchy(input.SpecPath).GetAllSpecs().ToArray();

                SpecificationPostProcessor.PostProcessAll(specs, running.Fixtures);

                var errored = specs.Where(x => x.errors.Any()).ToArray();

                if (errored.Any())
                {
                    ConsoleWriter.Write(ConsoleColor.Red, "Errors Detected!");

                    foreach (var errorSpec in errored)
                    {
                        ConsoleWriter.Write(ConsoleColor.Yellow, errorSpec.Filename);
                        foreach (var error in errorSpec.errors)
                        {
                            Console.WriteLine($"{error.location.Join(" / ")} -> {error.message}");
                        }
                    }

                    return(false);
                }
                else
                {
                    ConsoleWriter.Write(ConsoleColor.Green, "No validation errors or missing data detected in this project");
                    return(true);
                }
            }
        }
        private void afterPostProcessing()
        {
            var processor = new SpecificationPostProcessor(theLibrary, theSpecification);

            processor.Validate();
        }