Example #1
0
        public void RecursiveMemberTest()
        {
            Type   parsedType, parsedArrayType;
            string xml = @"<?xml version=""1.0"" ?>
<value>
  <struct>
    <member>
      <name>Level</name>
      <value>1</value>
    </member>
    <member>
      <name>childExample</name>
      <value>
        <struct>
          <member>
            <name>Level</name>
            <value>2</value>
          </member>
          <member>
            <name>childExample</name>
            <value>
              <struct>
                <member>
                  <name>Level</name>
                  <value>3</value>
                </member>
              </struct>
            </value>
          </member>
        </struct>
      </value>
    </member>
  </struct>
</value>";
            object obj = Utils.Parse(xml, typeof(RecursiveMember), MappingAction.Error,
                                     out parsedType, out parsedArrayType);
            RecursiveMember ret = (RecursiveMember)obj;
        }
Example #2
0
        public void RecursiveMemberTest()
        {
            Stream stm     = new MemoryStream();
            var    req     = new XmlRpcRequest();
            var    example = new RecursiveMember {
                Level        = "1",
                childExample = new RecursiveMember {
                    Level        = "2",
                    childExample = new RecursiveMember {
                        Level = "3",
                    }
                }
            };

            req.args = new Object[] {
                example
            };
            req.method = "Foo";
            var ser = new XmlRpcSerializer();

            ser.UseStringTag = false;
            ser.SerializeRequest(stm, req);
            stm.Position = 0;
            TextReader tr     = new StreamReader(stm);
            var        reqstr = tr.ReadToEnd();

            Assert.AreEqual(
                @"<?xml version=""1.0""?>
<methodCall>
  <methodName>Foo</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>Level</name>
            <value>1</value>
          </member>
          <member>
            <name>childExample</name>
            <value>
              <struct>
                <member>
                  <name>Level</name>
                  <value>2</value>
                </member>
                <member>
                  <name>childExample</name>
                  <value>
                    <struct>
                      <member>
                        <name>Level</name>
                        <value>3</value>
                      </member>
                    </struct>
                  </value>
                </member>
              </struct>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>", reqstr);
        }
Example #3
0
    public void RecursiveMemberTest()
    {
      Stream stm = new MemoryStream();
      XmlRpcRequest req = new XmlRpcRequest();
      var example = new RecursiveMember
      {
        Level = "1",
        childExample = new RecursiveMember
        {
          Level = "2",
          childExample = new RecursiveMember
          {
            Level = "3",
          }
        }
      };
      req.args = new Object[] { example };
      req.method = "Foo";
      XmlRpcSerializer ser = new XmlRpcSerializer();
      ser.UseStringTag = false;
      ser.SerializeRequest(stm, req);
      stm.Position = 0;
      TextReader tr = new StreamReader(stm);
      string reqstr = tr.ReadToEnd();
      Assert.AreEqual(
@"<?xml version=""1.0""?>
<methodCall>
  <methodName>Foo</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>Level</name>
            <value>1</value>
          </member>
          <member>
            <name>childExample</name>
            <value>
              <struct>
                <member>
                  <name>Level</name>
                  <value>2</value>
                </member>
                <member>
                  <name>childExample</name>
                  <value>
                    <struct>
                      <member>
                        <name>Level</name>
                        <value>3</value>
                      </member>
                    </struct>
                  </value>
                </member>
              </struct>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>", reqstr);
    }