public IExpectedBehavior ComposeBehavior(IContext context) { IExpectedBehavior expected = new ExpectedBehavior(); for (int i = 0; i < childNodes.Count; i++) { if (childNodes[i].Process(context)) { return(expected); } } return(expected); }
public IExpectedBehavior ComposeBehavior(IContext context) { IExpectedBehavior expected = new ExpectedBehavior(); for (int i = 0; i < childNodes.Count; i++) { if (childNodes[i] is IBTComposeableBehavior) { expected.Join(((IBTComposeableBehavior)childNodes[i]).ComposeBehavior(context)); } else { childNodes[i].Process(context); } } return(expected); }
/// <param name="name"> /// String like <c>"Distinct_ComparerArg_NonDistinctValues_ReturnsOnlyDistinctValues"</c>.</param> public TestCaseName(string name) { var parts = new Queue <string>(name.Split(new[] { '_' }, 4, StringSplitOptions.RemoveEmptyEntries)); if (parts.Count < 2) { throw new ArgumentException(null, "name"); } MethodName = parts.Dequeue(); Arguments = parts.Count < 3 ? zeroArguments : new ReadOnlyCollection <string>( parts.Dequeue() .Split(new[] { "Arg" }, StringSplitOptions.RemoveEmptyEntries) .TakeWhile(s => s.Length > 0) .ToArray()); StateUnderTest = parts.Count > 1 ? CamelCase.FormatSentence(parts.Dequeue()) : string.Empty; ExpectedBehavior = parts.Dequeue(); var throwsWord = "Throws"; if (ExpectedBehavior.StartsWith(throwsWord, StringComparison.InvariantCultureIgnoreCase) && ExpectedBehavior.EndsWith("Exception", StringComparison.InvariantCultureIgnoreCase)) { ExpectedBehavior = ExpectedBehavior.Substring(0, throwsWord.Length) + " " + ExpectedBehavior.Substring(throwsWord.Length); } else { ExpectedBehavior = CamelCase.FormatSentence(ExpectedBehavior); } }