public void TestDecorateClass()
        {
            var decorator = new StandardServiceFieldServiceDecorator();
            var service = CreateService();
            var codeType = new CodeTypeDeclaration("TestClass");

            decorator.DecorateClass(service, codeType);

            Assert.AreEqual(3, codeType.Members.Count);
            Assert.IsInstanceOf(typeof(CodeMemberField), codeType.Members[0]);
            Assert.IsInstanceOf(typeof(CodeMemberField), codeType.Members[1]);
            Assert.IsInstanceOf(typeof(CodeMemberProperty), codeType.Members[2]);

            CodeMemberField serviceDeclaration = (CodeMemberField) codeType.Members[0];
            CodeMemberField authenticationDeclaration = (CodeMemberField)codeType.Members[1];
            CodeMemberProperty authenticationPropertyDeclaration = (CodeMemberProperty)codeType.Members[2];

            Assert.AreEqual(ServiceClassGenerator.GenericServiceName, serviceDeclaration.Name);
            Assert.AreEqual(ServiceClassGenerator.AuthenticatorName, authenticationDeclaration.Name);
            Assert.AreEqual(typeof(IService).FullName, serviceDeclaration.Type.BaseType);
            Assert.AreEqual(typeof(IAuthenticator).FullName, authenticationDeclaration.Type.BaseType);
            Assert.AreEqual("Authenticator", authenticationPropertyDeclaration.Name);

            CheckCompile(codeType, false, "Failed To Compile result from StandardServiceFieldResourceDecorator");
        }
        public void TestDecorateClass()
        {
            IService service = CreateService();
            var decorator = new CreateRequestMethodServiceDecorator();
            var codeType = new CodeTypeDeclaration("TestClass");

            var requiredDecorator = new StandardServiceFieldServiceDecorator();
            requiredDecorator.DecorateClass(service, codeType);
            var anotherRequiredDecorator = new ApiKeyServiceDecorator();
            anotherRequiredDecorator.DecorateClass(service, codeType);

            decorator.DecorateClass(service, codeType);

            CheckCompile(codeType, false, "Failed To Compile StandardExecuteMethodServiceDecorator");
        }