public void TestCreateConstructorWithSubresources() { var decorator = new StandardConstructorResourceDecorator(); CodeConstructor constructor = decorator.CreateConstructor(ServiceClassName, CreateNonEmptyResource()); Assert.AreEqual(4, constructor.Statements.Count); }
public void TestCreateConstructor() { var decorator = new StandardConstructorResourceDecorator(); CodeConstructor constructor = decorator.CreateConstructor(ServiceClassName, CreateEmptyResource()); Assert.AreEqual(2, constructor.Parameters.Count); var param = constructor.Parameters[0]; Assert.AreEqual(ServiceClassName, param.Type.BaseType); Assert.AreEqual(2, constructor.Statements.Count); param = constructor.Parameters[1]; Assert.AreEqual(typeof(Google.Apis.Authentication.IAuthenticator).FullName, param.Type.BaseType); }
public void TestDecorateClass() { var decorator = new StandardConstructorResourceDecorator(); var resourceClass = new CodeTypeDeclaration(ResourceClassName); var resource = CreateResourceDiscoveryV_1_0(ResourceName, ResourceAsJson); decorator.DecorateClass(resource, null, resourceClass, null, ServiceClassName, null); Assert.AreEqual(1, resourceClass.Members.Count); var member = resourceClass.Members[0]; Assert.IsInstanceOf(typeof(CodeConstructor), member); // Constructor is tested in TestCreateConstructor }
public void TestCreateSubresourceStatement() { var decorator = new StandardConstructorResourceDecorator(); CodeStatementCollection statements = decorator.CreateSubresourceCreateStatements(CreateNonEmptyResource()); Assert.AreEqual(2, statements.Count); Assert.That(statements[0], Is.InstanceOf <CodeAssignStatement>()); CodeAssignStatement firstStatement = (CodeAssignStatement)statements[0]; // Check the field name Assert.That(firstStatement.Left, Is.InstanceOf <CodeFieldReferenceExpression>()); Assert.That(((CodeFieldReferenceExpression)firstStatement.Left).FieldName, Is.EqualTo("_Subresource")); // Check the constructor var right = firstStatement.Right as CodeObjectCreateExpression; Assert.IsNotNull(right); Assert.That(right.CreateType.BaseType, Is.EqualTo("SubresourceResource")); }