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"); }