from sleekxmpp.test import *
from sleekxmpp.plugins.xep_0059 import Set
class TestSetStanzas(SleekTest):
    def testSetFirstIndex(self):
        s = Set()
        s['first'] = 'id'
        s.set_first_index('10')
        self.check(s, """
          
            id
          
        """)
    def testGetFirstIndex(self):
        xml_string = """
          
            id
          
        """
        s = Set(ET.fromstring(xml_string))
        expected = '10'
        self.failUnless(s['first_index'] == expected)
    def testDelFirstIndex(self):
        xml_string = """
          
            id
          
        """
        s = Set(ET.fromstring(xml_string))
        del s['first_index']
        self.check(s, """
          
            id
          
        """)
    def testSetBefore(self):
        s = Set()
        s['before'] = True
        self.check(s, """
          
            
          
        """)
    def testGetBefore(self):
        xml_string = """
          
            
          
        """
        s = Set(ET.fromstring(xml_string))
        expected = True
        self.failUnless(s['before'] == expected)
    def testGetBefore(self):
        xml_string = """
          
            
          
        """
        s = Set(ET.fromstring(xml_string))
        del s['before']
        self.check(s, """
          
          
        """)
    def testSetBeforeVal(self):
        s = Set()
        s['before'] = 'id'
        self.check(s, """
          
            id
          
        """)
    def testGetBeforeVal(self):
        xml_string = """
          
            id
          
        """
        s = Set(ET.fromstring(xml_string))
        expected = 'id'
        self.failUnless(s['before'] == expected)
    def testGetBeforeVal(self):
        xml_string = """
          
            id
          
        """
        s = Set(ET.fromstring(xml_string))
        del s['before']
        self.check(s, """
          
          
        """)
suite = unittest.TestLoader().loadTestsFromTestCase(TestSetStanzas)