public override void Execute(BinaryTreeParseArguments args)
        {
            foreach (var getModelResult in args.NodeModels)
            {
                if (getModelResult.IsFailure)
                {
                    args.AddError(getModelResult.FailureMessage);
                    return;
                }

                CommandResult result = this.ProcessModelInDictionary(getModelResult.Result, args.SubtreesDictionary);

                if (result.IsFailure)
                {
                    args.AddError(result.FailureMessage);
                    return;
                }
            }
        }
 public override void Execute(BinaryTreeParseArguments args)
 {
     args.TextStrings = this.DeclareEnumerableStrings(args.TextReader);
 }
 public override bool CanExecute(BinaryTreeParseArguments args)
 {
     return(args.TextReader != null && args.TextStrings == null);
 }
 public CommandResult <Tree> ParseBinaryTree(BinaryTreeParseArguments arguments)
 {
     base.Execute(arguments).Wait();
     return(ResultAnalyzer.Analyze(arguments));
 }
        public override void Execute(BinaryTreeParseArguments args)
        {
            var tree = args.SubtreesDictionary.First().Value;

            args.SetResultWithInformation(tree.NavigateToRoot(), "Result is set.");
        }
 public override bool CanExecute(BinaryTreeParseArguments args)
 {
     return(args.SubtreesDictionary.Count > 0 && args.GetAllMessages().Length == 0);
 }
 public override bool CanExecute(BinaryTreeParseArguments args)
 {
     return(args.NodeModels != null && args.SubtreesDictionary != null);
 }
 public override void Execute(BinaryTreeParseArguments args)
 {
     args.NodeModels = this.DeclareEnumerableNodes(args.TextStrings);
 }