Beispiel #1
0
 void Input(ExecuteContext context, ExecuteParameters parameters)
 {
     var beforeCounts = new TestCounts(Processor.TestStatus.Counts);
     Processor.InvokeWithThrow(context.SystemUnderTest, GetMemberName(parameters.Members),
                      new CellTree(parameters.Cells));
     MarkCellWithLastResults(parameters, p => MarkCellWithCounts(p, beforeCounts));
 }
        public override TypedValue Execute(ExecuteContext context, ExecuteParameters parameters)
        {
            object value = GetActual(context, parameters);
            var symbol = new Symbol(parameters.Cell.Text.Substring(2), value);
            Processor.Store(symbol);

            parameters.Cell.AddToAttribute(CellAttribute.InformationSuffix, value == null ? "null" : value.ToString());

            return TypedValue.Void;
        }
Beispiel #3
0
 public override TypedValue Execute(ExecuteContext context, ExecuteParameters parameters)
 {
     try {
         object actual = GetActual(context, parameters);
         Processor.TestStatus.MarkWrong(parameters.Cell, actual.ToString());
     }
     catch {
         Processor.TestStatus.MarkRight(parameters.Cell);
     }
     return TypedValue.Void;
 }
Beispiel #4
0
 TypedValue Invoke(ExecuteContext context, ExecuteParameters parameters)
 {
     var beforeCounts = new TestCounts(Processor.TestStatus.Counts);
     TypedValue target = context.Target.Value;
     var targetObjectProvider = target.Value as TargetObjectProvider;
     string name = GetMemberName(parameters.Members);
     TypedValue result = Processor.Invoke(
             targetObjectProvider != null ? new TypedValue(targetObjectProvider.GetTargetObject()) : target,
             name, parameters.Parameters);
     MarkCellWithLastResults(parameters, p => MarkCellWithCounts(p, beforeCounts));
     return result;
 }
Beispiel #5
0
 void Check(ExecuteContext context, ExecuteParameters parameters)
 {
     try {
         TypedValue actual = GetTypedActual(context, parameters);
         if (Processor.Compare(actual, parameters.Cells)) {
             Processor.TestStatus.MarkRight(parameters.Cell);
         }
         else {
             Processor.TestStatus.MarkWrong(parameters.Cell, actual.ValueString);
         }
     }
     catch (IgnoredException) {}
     MarkCellWithLastResults(parameters, p => {});
 }
Beispiel #6
0
        public override TypedValue Execute(ExecuteContext context, ExecuteParameters parameters)
        {
            switch (context.Command) {
                case ExecuteCommand.Check:
                    Check(context, parameters);
                    break;

                case ExecuteCommand.Invoke:
                    return Invoke(context, parameters);

                default:
                    throw new ArgumentException(string.Format("Unrecognized operation '{0}'", context.Command));
            }
            return TypedValue.Void;
        }
Beispiel #7
0
        public override TypedValue Execute(ExecuteContext context, ExecuteParameters parameters)
        {
            switch (context.Command) {
                case ExecuteCommand.Input:
                    TypedValue actual = Processor.Invoke(context.SystemUnderTest, GetMemberName(parameters.Members),
                                                         new TreeList<Cell>());
                    if (actual.IsValid) ShowActual(parameters, actual.Value);
                    break;

                case ExecuteCommand.Check:
                    ShowActual(parameters, GetActual(context, parameters));
                    break;
            }
            return TypedValue.Void;
        }
Beispiel #8
0
 public override TypedValue Execute(ExecuteContext context, ExecuteParameters parameters)
 {
     string exceptionContent = parameters.Cell.Text.Substring("exception[".Length, parameters.Cell.Text.Length - ("exception[".Length + 1));
     try {
         GetActual(context, parameters);
         Processor.TestStatus.MarkWrong(parameters.Cell, "no exception");
     }
     catch (TargetInvocationException e) {
         if (IsMessageOnly(exceptionContent)) {
             EvaluateException(e.InnerException.Message == exceptionContent.Substring(1, exceptionContent.Length - 2), parameters, e);
         }
         else if (IsExceptionTypeNameOnly(exceptionContent)) {
             string actual = e.InnerException.GetType().Name + ": \"" + e.InnerException.Message + "\"";
             EvaluateException(exceptionContent == actual, parameters, e);
         }
         else {
             EvaluateException(e.InnerException.GetType().Name == exceptionContent, parameters, e);
         }
     }
     return TypedValue.Void;
 }
Beispiel #9
0
 public abstract bool CanExecute(ExecuteContext context, ExecuteParameters parameters);
Beispiel #10
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return(context.Command == ExecuteCommand.Check &&
            exceptionIdentifier.IsStartOf(parameters.Cell.Text) && parameters.Cell.Text.EndsWith("]"));
 }
Beispiel #11
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return context.Command == ExecuteCommand.Check && errorIdentifier.Equals(parameters.Cell.Text);
 }
Beispiel #12
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return context.Command == ExecuteCommand.Check
         && exceptionIdentifier.IsStartOf(parameters.Cell.Text) && parameters.Cell.Text.EndsWith("]");
 }
Beispiel #13
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return true;
 }
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return context.Command == ExecuteCommand.Check
         && parameters.Cell.Text.StartsWith(">>");
 }
Beispiel #15
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return (context.Command == ExecuteCommand.Check || context.Command == ExecuteCommand.Input)
            && parameters.Cell.Text.Length == 0
            && parameters.Cells.IsLeaf;
 }
Beispiel #16
0
 public abstract TypedValue Execute(ExecuteContext context, ExecuteParameters parameters);
Beispiel #17
0
 public override TypedValue Execute(ExecuteContext context, ExecuteParameters parameters)
 {
     ShowActual(parameters, GetActual(context, parameters));
     return TypedValue.Void;
 }
Beispiel #18
0
 public object GetActual(ExecuteContext context, ExecuteParameters parameters)
 {
     return(GetTypedActual(context, parameters).Value);
 }
Beispiel #19
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return(true);
 }
Beispiel #20
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return((context.Command == ExecuteCommand.Check || context.Command == ExecuteCommand.Input) &&
            parameters.Cell.Text.Length == 0 &&
            parameters.Cells.IsLeaf);
 }
Beispiel #21
0
 public override bool CanExecute(ExecuteContext context, ExecuteParameters parameters)
 {
     return(context.Command == ExecuteCommand.Check &&
            parameters.Cell.Text.StartsWith(">>"));
 }