コード例 #1
0
 public void ToStringHandlesMissingInputAndOuput()
 {
     var definition = new RemoteActionDefinition
                          {
                              Name = "TestAction"
                          };
     var expected = "[TestAction(?)=>(?)]";
     var actual = definition.ToString();
     Assert.AreEqual(expected, actual);
 }
コード例 #2
0
        public void ToStringHandlesMissingInputAndOuput()
        {
            var definition = new RemoteActionDefinition
            {
                Name = "TestAction"
            };
            var expected = "[TestAction(?)=>(?)]";
            var actual   = definition.ToString();

            Assert.AreEqual(expected, actual);
        }
コード例 #3
0
 public void ToStringHandlesInputAndOuput()
 {
     var definition = new RemoteActionDefinition
                          {
                              Name = "TestAction",
                              InputData = "<definition name=\"Blank\" namespace=\"urn:cruisecontrol:common\" />",
                              OutputData = "<definition name=\"BuildRequest\" namespace=\"urn:cruisecontrol:common\"></definition>"
                          };
     var expected = "[TestAction(Blank)=>(BuildRequest)]";
     var actual = definition.ToString();
     Assert.AreEqual(expected, actual);
 }
コード例 #4
0
        public void ToStringHandlesInputAndOuput()
        {
            var definition = new RemoteActionDefinition
            {
                Name       = "TestAction",
                InputData  = "<definition name=\"Blank\" namespace=\"urn:cruisecontrol:common\" />",
                OutputData = "<definition name=\"BuildRequest\" namespace=\"urn:cruisecontrol:common\"></definition>"
            };
            var expected = "[TestAction(Blank)=>(BuildRequest)]";
            var actual   = definition.ToString();

            Assert.AreEqual(expected, actual);
        }
コード例 #5
0
        /// <summary>
        /// Generates the definition.
        /// </summary>
        /// <param name="arguments">The arguments.</param>
        /// <param name="method">The method.</param>
        /// <param name="messageFormats">The message formats.</param>
        /// <param name="namespaces">The namespaces.</param>
        /// <returns>
        /// The definition for the remote action.
        /// </returns>
        private static RemoteActionDefinition GenerateDefinition(QueryArguments arguments, MethodInfo method, Dictionary <Type, string> messageFormats, Dictionary <string, string> namespaces)
        {
            var description = ExtractDescription(method);
            var definition  = new RemoteActionDefinition
            {
                Name        = method.Name,
                Description = description
            };

            // Generate the message formats
            switch (arguments.DataToInclude)
            {
            case DataDefinitions.InputOnly:
                definition.InputData = GenerateMessageFormat(
                    messageFormats,
                    namespaces,
                    method.GetParameters()[0].ParameterType);
                break;

            case DataDefinitions.OutputOnly:
                definition.OutputData = GenerateMessageFormat(
                    messageFormats,
                    namespaces,
                    method.ReturnType);
                break;

            case DataDefinitions.Both:
                definition.InputData = GenerateMessageFormat(
                    messageFormats,
                    namespaces,
                    method.GetParameters()[0].ParameterType);
                definition.OutputData = GenerateMessageFormat(
                    messageFormats,
                    namespaces,
                    method.ReturnType);
                break;
            }
            return(definition);
        }