Beispiel #1
0
        public void CDInstanceGenerator_Constructor_FirstStatementIsOfType_CodeVariableDeclarationStatement()
        {
            var instance = new CDInstanceGenerator(className, instanceName);
            var actual   = instance.CodeStatements;

            Assert.IsType <CodeVariableDeclarationStatement>(actual.First());
        }
Beispiel #2
0
        public void CDInstanceGenerator_Constructor_StatementsNotEmpty()
        {
            var instance = new CDInstanceGenerator(className, instanceName);
            var actual   = instance.CodeStatements;

            Assert.NotEmpty(actual);
        }
Beispiel #3
0
        public void CDInstanceGenerator_ConstructorWithReflectedInstanceArg_ContainsPropAndValue()
        {
            var mockedReflectedInstance = new Mock <ICDReflectedInstance>();

            // classname returned
            mockedReflectedInstance.Setup(reflected => reflected.ClassName)
            .Returns(className);
            // return an empty dictionary for this test
            mockedReflectedInstance.Setup(reflected => reflected.PropertyValues)
            .Returns(new Dictionary <string, CDPropertyValue>()
            {
                { propName, new CDPropertyValue(propValue.GetType(), propValue) }
            });

            var instance = new CDInstanceGenerator(mockedReflectedInstance.Object);

            var assignStatements = instance.CodeStatements.Where(statement => statement is CodeAssignStatement);

            Assert.NotEmpty(assignStatements);
            var assignStatement = assignStatements.First() as CodeAssignStatement;

            var leftOperand = assignStatement.Left;

            Assert.IsType <CodeFieldReferenceExpression>(leftOperand);
            Assert.Equal(propName, ((CodeFieldReferenceExpression)leftOperand).FieldName);

            // test type and value of right operand
            var rightOperand = assignStatement.Right;

            Assert.IsType <CodePrimitiveExpression>(rightOperand);
            Assert.Equal(propValue, ((CodePrimitiveExpression)rightOperand).Value);
        }
Beispiel #4
0
        public void CDInstanceGenerator_CreatePropertyAssignment_HasPropAndValue()
        {
            var instance        = new CDInstanceGenerator(className, instanceName);
            var assignStatement = instance.CreatePropertyAssignment(propName, propValue);
            // test type and value of left operand
            var leftOperand = assignStatement.Left;

            Assert.IsType <CodeFieldReferenceExpression>(leftOperand);
            Assert.Equal(propName, ((CodeFieldReferenceExpression)leftOperand).FieldName);

            // test type and value of right operand
            var rightOperand = assignStatement.Right;

            Assert.IsType <CodePrimitiveExpression>(rightOperand);
            Assert.Equal(propValue, ((CodePrimitiveExpression)rightOperand).Value);
        }
Beispiel #5
0
        public void CDInstanceGenerator_ConstructorWithReflectedInstanceArg_ContainsCodeVarDeclaration()
        {
            var mockedReflectedInstance = new Mock <ICDReflectedInstance>();

            // classname returned
            mockedReflectedInstance.Setup(reflected => reflected.ClassName)
            .Returns(className);
            // return an empty dictionary for this test
            mockedReflectedInstance.Setup(reflected => reflected.PropertyValues)
            .Returns(new Dictionary <string, CDPropertyValue>());

            var instance = new CDInstanceGenerator(mockedReflectedInstance.Object);

            var actual = instance.CodeStatements;

            Assert.IsType <CodeVariableDeclarationStatement>(actual.First());
        }
Beispiel #6
0
 public void CDInstanceGenerator_CreatePropertyAssignment_Succeeds()
 {
     var instance        = new CDInstanceGenerator(className, instanceName);
     var assignStatement = instance.CreatePropertyAssignment(propName, propValue);
 }