Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 3
0
        /// <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);
            }
        }