Пример #1
0
        public void ShouldExecuteMethodsInOrder()
        {
            // Arrange
            var executeMethodStep1 = new ExecuteMethodStep();

            executeMethodStep1.MethodName = "MethodA";

            var executeMethodStep2 = new ExecuteMethodStep();

            executeMethodStep2.MethodName = "MethodB";

            var executeMethodStep3 = new ExecuteMethodStep();

            executeMethodStep3.MethodName = "MethodC";

            var collection = new TestStepCollection()
            {
                executeMethodStep2, executeMethodStep3, executeMethodStep1
            };

            collection.Accept(visitor);

            // Act
            var result = visitor.Build();

            // Assert
            result.IndexOf("this.MethodA();")
            .ShouldBeGreaterThan(result.IndexOf("this.MethodB();"));
            result.IndexOf("public void MethodA()")
            .ShouldBeLessThan(result.IndexOf("public void MethodB()"));
        }
Пример #2
0
        public void ShouldCreateUniqueMethodSignatures_WhenSameMethodAndParameters()
        {
            // Arrange
            var executeMethodStep1 = new ExecuteMethodStep();
            var executeMethodStep2 = new ExecuteMethodStep();

            executeMethodStep2.MethodName = "Method1";
            executeMethodStep2.Parameters.Add(new MethodParameter("age", "32"));

            var executeMethodStep3 = new ExecuteMethodStep();

            executeMethodStep3.MethodName = "Method1";
            executeMethodStep3.Parameters.Add(new MethodParameter("age", "132"));

            var collection = new TestStepCollection()
            {
                executeMethodStep1, executeMethodStep2, executeMethodStep3
            };

            collection.Accept(visitor);

            // Act
            var result = visitor.Build();

            // Assert
            result.IndexOf("public void Method1(string age)")
            .ShouldEqual(result.LastIndexOf("public void Method1(string age)"));     // same index, no duplicates.
        }
Пример #3
0
        public void ShouldExecuteAcceptOnAllChildren()
        {
            // Arrange
            var visitor = Mock.Of <ITestStepVisitor>();
            var step1   = Mock.Of <TestStep>();
            var step2   = Mock.Of <TestStep>();

            steps.AddRange(new TestStep[] { step1, step2 });

            // Act
            steps.Accept(visitor);

            // Assert
            Mock.Get(step1)
            .Verify(s => s.Accept(visitor));
            Mock.Get(step2)
            .Verify(s => s.Accept(visitor));
        }