                 m:
                   Abc: {}
                   Xyz: {}
-
         params =
           Details:
             Xyz: 'xyz'
             Abc: 'abc'
           Name: 'john'
-
         xml = """
         <Data xmlns="#{xmlns}">
           <Name>john</Name>

        matchXML(buildRequest(params).body, xml)

      it 'can serializes structures into XML', ->

        operation.i =
          Data:
            t: 'o'

          </Details>
        </Data>
        """
        matchXML(buildRequest(params).body, xml)

      it 'serializes empty structures as empty element', ->
        operation.i = {Data:{t:'o',l:'body',m:{Config:{t:'o',m:{Foo:{},Bar:{}}}}}}
        params = { Config: {} }
        xml = """
        <Data xmlns="#{xmlns}">
          <Config/>
        </Data>
        """
        matchXML(buildRequest(params).body, xml)

      it 'does not serialize missing members', ->
        operation.i = {Data:{t:'o',l:'body',m:{Config:{t:'o',m:{Foo:{},Bar:{}}}}}}
        params = { Config: { Foo: 'abc' } }
        xml = """
        <Data xmlns="#{xmlns}">
          <Config>
            <Foo>abc</Foo>
          </Config>
        </Data>
        """
        matchXML(buildRequest(params).body, xml)

      it 'serializes lists (default member names)', ->
        operation.i = {Data:{t:'o',l:'body',m:{Aliases:{t:'a',m:{}}}}}
