def test_integer_limits_32(self):
     self.assertEqual(types.Int32(0x7fffffff), 0x7fffffff)
     self.assertEqual(types.Int32(-0x80000000), -0x80000000)
     self.assertEqual(types.UInt32(0xffffffff), 0xffffffff)
     self.assertRaises(Exception, types.Int32, 0x80000000)
     self.assertRaises(Exception, types.Int32, -0x80000001)
     self.assertRaises(Exception, types.UInt32, 0x100000000)
 def test_guess_signature_dbus_types(self):
     aeq = self.assertEqual
     from _dbus_bindings import Message
     gs = Message.guess_signature
     aeq(gs(types.Dictionary({'a':'b'})), 'a{ss}')
     aeq(gs(types.Dictionary({'a':'b'}, signature='sv')), 'a{sv}')
     aeq(gs(types.Dictionary({}, signature='iu')), 'a{iu}')
     aeq(gs(types.Array([types.Int32(1)])), 'ai')
     aeq(gs(types.Array([types.Int32(1)], signature='u')), 'au')
 def test_integer_limits_32(self):
     self.assertEqual(types.Int32(0x7fffffff), 0x7fffffff)
     self.assertEqual(types.Int32(make_long(-0x80000000)), 
                      make_long(-0x80000000))
     self.assertEqual(types.UInt32(make_long(0xffffffff)), 
                      make_long(0xffffffff))
     self.assertRaises(Exception, types.Int32, make_long(0x80000000))
     self.assertRaises(Exception, types.Int32, make_long(-0x80000001))
     self.assertRaises(Exception, types.UInt32, make_long(0x100000000))
 def test_guess_signature(self):
     aeq = self.assertEquals
     from _dbus_bindings import Message
     aeq(Message.guess_signature(('a', 'b')), '(ss)')
     aeq(Message.guess_signature('a', 'b'), 'ss')
     aeq(Message.guess_signature(['a', 'b']), 'as')
     aeq(Message.guess_signature(('a', )), '(s)')
     aeq(Message.guess_signature('abc'), 's')
     aeq(Message.guess_signature(types.Int32(123)), 'i')
     aeq(Message.guess_signature(types.ByteArray('abc')), 'ay')
     aeq(Message.guess_signature(('a', )), '(s)')
     aeq(Message.guess_signature(['a']), 'as')
     aeq(Message.guess_signature({'a': 'b'}), 'a{ss}')
 def test_append_Variant(self):
     aeq = self.assertEqual
     from _dbus_bindings import SignalMessage
     s = SignalMessage('/', 'foo.bar', 'baz')
     s.append(types.Int32(1, variant_level=0),
              types.String('a', variant_level=42),
              types.Array([types.Byte(b'a', variant_level=1),
                           types.UInt32(123, variant_level=1)],
                          signature='v'),
              signature='vvv')
     aeq(s.get_signature(), 'vvv')
     args = s.get_args_list()
     aeq(args[0].__class__, types.Int32)
     aeq(args[0].variant_level, 1)
     aeq(args[1].__class__, types.String)
     aeq(args[1].variant_level, 42)
     aeq(args[2].__class__, types.Array)
     aeq(args[2].variant_level, 1)
     aeq(args[2].signature, 'v')