コード例 #1
0
 public Application(IGroceryKiosk groceryKiosk, IUserInput userInput, IFormatOutput output, ILog logger)
 {
     _groceryKiosk = groceryKiosk;
     _userInput    = userInput;
     _output       = output;
     _logger       = logger;
 }
コード例 #2
0
ファイル: Feature.cs プロジェクト: chriskooken/nStep
        public void Execute(IProcessSteps stepProcessor, IProcessScenarioHooks hookProcessor, IFormatOutput outputFormatter, int lineNumber)
        {
            var executor = GetExecutableAt(lineNumber);

            if (!(executor is Feature))
                outputFormatter.WriteFeatureHeading(this);

            executor.Execute(stepProcessor, hookProcessor, outputFormatter);
        }
コード例 #3
0
ファイル: Feature.cs プロジェクト: chriskooken/nStep
        public void Execute(IProcessSteps stepProcessor, IProcessScenarioHooks hookProcessor, IFormatOutput outputFormatter)
        {
            outputFormatter.WriteFeatureHeading(this);
            outputFormatter.SkipWritingBackground = false;

            foreach (var item in Items)
            {
                item.Execute(stepProcessor, hookProcessor, outputFormatter);
            }
        }
コード例 #4
0
ファイル: Scenario.cs プロジェクト: chriskooken/nStep
 public override void Execute(IProcessSteps stepProcessor, IProcessScenarioHooks hookProcessor, IFormatOutput outputFormatter)
 {
     hookProcessor.ProcessBeforeScenarioHooks(Tags);
     if(Feature.Background != null)
         Feature.Background.Execute(stepProcessor, hookProcessor, outputFormatter);
     outputFormatter.SkippingSteps = false;
     outputFormatter.WriteScenarioTitle(this);
     foreach (var step in Steps)
     {
         step.Execute(stepProcessor, hookProcessor, outputFormatter);
     }
     var result = new ScenarioResult(null); //TODO: Load an appropriate scenarioResult here...
     hookProcessor.ProcessAfterScenarioHooks(Tags, result);
     outputFormatter.WriteLineBreak();
 }
コード例 #5
0
ファイル: Step.cs プロジェクト: chriskooken/nStep
        public void Execute(IProcessSteps stepProcessor, IProcessScenarioHooks hookProcessor, IFormatOutput outputFormatter)
        {
            //if step is in background, and background has ran once,then dont write it.
            if (StepSequence is Background && outputFormatter.SkipWritingBackground)
            {
               stepProcessor.ProcessStep(this);
                return;
            }

            if (!(StepSequence is Background))
                outputFormatter.SkipWritingBackground = true;

            if (outputFormatter.SkippingSteps)
            {
                outputFormatter.WriteSkippedFeatureLine(this);
                stepProcessor.CheckForMissingStep(this);
                return;
            }
            outputFormatter.SkippingSteps = true;
            var result = stepProcessor.ProcessStep(this);

            switch (result.ResultCode)
            {
                case StepRunResultCode.Passed:
                    outputFormatter.SkippingSteps = false;
                    outputFormatter.WritePassedFeatureLine(this, result.MatchedStepDefinition);
                    break;
                case StepRunResultCode.Failed:
                    outputFormatter.WriteException(this, result.Exception);
                    break;
                case StepRunResultCode.Pending:
                    outputFormatter.WritePendingFeatureLine(this, result.Exception);
                    break;
                case StepRunResultCode.Missing:
                    outputFormatter.WriteMissingFeatureLine(this);
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }
        }
コード例 #6
0
ファイル: Step.cs プロジェクト: chriskooken/nStep
        public void Execute(IProcessSteps stepProcessor, IProcessScenarioHooks hookProcessor, IFormatOutput outputFormatter, IDictionary<string, string> dictionary)
        {
            var newBody = Body;

            foreach (var key in dictionary.Keys)
                newBody = newBody.Replace("<" + key + ">", dictionary[key]);

            var newFeatureStep = new Step(this) { Body = newBody };
            newFeatureStep.Execute(stepProcessor, hookProcessor, outputFormatter);
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: chriskooken/nStep
        private void Run(string[] args)
        {
            Options = new nStepOptions().Parse<nStepOptions>(args);
            if (Options.Debug)
            {
                Console.WriteLine("Please attach the .Net debugger to continue...");
                int seconds = 0;
                while (!System.Diagnostics.Debugger.IsAttached)
                {
                    Thread.Sleep(1000);
                    seconds += 1;
                    if (seconds > 60)
                        return;
                }
                Console.Clear();
            }

            if (Options.Rerun)
                Options = ReadRerunFile();

            WriteRerunFile(Options);

            AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;

            formatter = new ConsoleOutputFormatter("nStep", new CSharpSyntaxSuggester());

            InitializeThenRun(Options.Assemblies.Select(x => new FileInfo(x)).ToList(), ()=>LoadAndExecuteFeatureFile(Options.FeatureFiles));

            formatter.WriteResults(StepMother);
        }
コード例 #8
0
ファイル: StepSequence.cs プロジェクト: chriskooken/nStep
 public abstract void Execute(IProcessSteps stepProcessor, IProcessScenarioHooks hookProcessor, IFormatOutput outputFormatter);
コード例 #9
0
ファイル: OwlHandler.cs プロジェクト: jeffaristi92/owl
 /// <summary>
 /// Genera Salida
 /// </summary>
 /// <param name="oSalida">Intefaz de salida</param>
 /// <returns>IEnumerable con el objeto de salida que se va generando</returns>
 public IEnumerable <IOutputValue> WriteOutput(IFormatOutput oOutput)
 {
     Output = oOutput;
     return(Output.Write(this));
 }