NStub.CSharp.MbUnitRhinoMocks.CSharpMbUnitRhinoMocksCodeGenerator.CreateMocker C# (CSharp) Method

CreateMocker() private method

private CreateMocker ( CodeTypeDeclaration testClassDeclaration, CodeMemberMethod setUpMethod, CodeMemberField mockRepositoryMemberField, List mockAssignments, Type paraType, string paraName, ConstructorAssignment data ) : void
testClassDeclaration System.CodeDom.CodeTypeDeclaration
setUpMethod System.CodeDom.CodeMemberMethod
mockRepositoryMemberField System.CodeDom.CodeMemberField
mockAssignments List
paraType System.Type
paraName string
data NStub.CSharp.ObjectGeneration.ConstructorAssignment
return void
        private void CreateMocker(
            CodeTypeDeclaration testClassDeclaration,
            CodeMemberMethod setUpMethod,
            CodeMemberField mockRepositoryMemberField,
            List<CodeAssignStatement> mockAssignments,
            Type paraType,
            string paraName,
            ConstructorAssignment data)
        {
            if(data != null && data.MemberFieldName != data.ParameterName)
            {
            }
            // reuse already present field assignments.
            var mockMemberField = testClassDeclaration
                .Members.OfType<CodeMemberField>()
                .Where(e => e.Name == paraName)
                .FirstOrDefault();
            var mockMemberFieldCreated = false;
            if (mockMemberField == null)
            {
                mockMemberField = AddTestMemberField(
                   testClassDeclaration, paraType.FullName, paraName);
                mockMemberFieldCreated = true;
            }

            var mockAssignment = this.AddMockObject(mockRepositoryMemberField, paraType.FullName, paraName);
            if (mockMemberFieldCreated)
            {
                // none found, add a new assignment.
                setUpMethod.Statements.Add(mockAssignment);
            }
            else
            {
                if (data != null)
                {
                    data.AssignStatement.Right = mockAssignment.Right;
                }
            }

            mockAssignments.Add(mockAssignment);
        }