'Test retrieving multi_attrib substanzas.'

def testGetMultiAttrib(self):

    class TestStanza(ElementBase, ):
        name = 'foo'
        namespace = 'foo'
        interfaces = set()
    class TestMultiStanza1(ElementBase, ):
        name = 'bar'
        namespace = 'bar'
        plugin_attrib = name
        plugin_multi_attrib = 'bars'
    class TestMultiStanza2(ElementBase, ):
        name = 'baz'
        namespace = 'baz'
        plugin_attrib = name
        plugin_multi_attrib = 'bazs'
    register_stanza_plugin(TestStanza, TestMultiStanza1, iterable=True)
    register_stanza_plugin(TestStanza, TestMultiStanza2, iterable=True)
    stanza = TestStanza()
    stanza.append(TestMultiStanza1())
    stanza.append(TestMultiStanza2())
    stanza.append(TestMultiStanza1())
    stanza.append(TestMultiStanza2())
    self.check(stanza, '\n                                        <foo    xmlns="foo">\n                                                <bar    xmlns="bar"    />\n                                                <baz    xmlns="baz"    />\n                                                <bar    xmlns="bar"    />\n                                                <baz    xmlns="baz"    />\n                                        </foo>\n                                ', use_values=False)
    bars = stanza['bars']
    bazs = stanza['bazs']
    for bar in bars:
        self.check(bar, '\n                                                        <bar    xmlns="bar"    />\n                                                ')
    for baz in bazs:
        self.check(baz, '\n                                                        <baz    xmlns="baz"    />\n                                                ')
    self.assertEqual(len(bars), 2, ('Wrong    number    of    <bar    />    stanzas:    %s' % len(bars)))
    self.assertEqual(len(bazs), 2, ('Wrong    number    of    <baz    />    stanzas:    %s' % len(bazs)))
