Ejemplo n.º 1
0
    def test_get_context_device(self):
        self.assertRaises((AttributeError, TypeError),
                          alc.get_context_device, None)
        self.assertRaises((AttributeError, TypeError),
                          alc.get_context_device, "Test")
        self.assertRaises((AttributeError, TypeError),
                          alc.get_context_device, None)

        device = alc.open_device()
        ctx = alc.create_context(device)
        dev = alc.get_context_device(ctx)
        self.assertIsInstance(dev, alc.ALCdevice)
        self.assertEqual(alc.get_error(device), alc.ALC_NO_ERROR)
        self.assertEqual(alc.get_error(dev), alc.ALC_NO_ERROR)
        alc.destroy_context(ctx)
        self.assertTrue(alc.close_device(device))
Ejemplo n.º 2
0
    def test_create_destroy_context(self):
        device = alc.open_device()

        #self.assertRaises(TypeError, alc.create_context, None, None)
        #self.assertRaises(TypeError, alc.create_context, 1234, None)
        #self.assertRaises(TypeError, alc.create_context, "Test", None)
        #self.assertRaises(TypeError, alc.create_context, device, 1234)
        #self.assertRaises(TypeError, alc.create_context, device, "Test")

        ctx = alc.create_context(device)
        self.assertEqual(alc.get_error(device), alc.ALC_NO_ERROR)
        self.assertIsInstance(ctx, alc.ALCcontext)
        alc.destroy_context(ctx)
        self.assertEqual(alc.get_error(device), alc.ALC_NO_ERROR)

        ctx = alc.create_context(device, None)
        self.assertEqual(alc.get_error(device), alc.ALC_NO_ERROR)
        self.assertIsInstance(ctx, alc.ALCcontext)
        alc.destroy_context(ctx)
        self.assertEqual(alc.get_error(device), alc.ALC_NO_ERROR)

        ctx = alc.create_context(device, [alc.ALC_FREQUENCY, 11025])
        self.assertEqual(alc.get_error(device), alc.ALC_NO_ERROR)
        self.assertIsInstance(ctx, alc.ALCcontext)
        alc.destroy_context(ctx)
        self.assertEqual(alc.get_error(device), alc.ALC_NO_ERROR)

        self.assertTrue(alc.close_device(device))
Ejemplo n.º 3
0
    def test_open_close_device(self):
        dev = alc.open_device("invalid device name :-)")
        self.assertIsNone(dev)
        self.assertRaises((AttributeError, TypeError), alc.close_device, dev)
        self.assertRaises((AttributeError, TypeError), alc.close_device, "Test")
        self.assertRaises((AttributeError, TypeError), alc.close_device, 12345)

        dev = alc.open_device(None)
        errval = alc.get_error(dev)
        self.assertEqual(errval, alc.ALC_NO_ERROR)

        # Closing a device with an attached context should not work according
        # to the OpenAL specification.
        ctx = alc.create_context(dev)

        # The test below ideally should work, however the SI
        # implementation as well as openal-soft close the device without
        # caring about any context attached to it.
        # All contexts are implicitly destroyed.
        #
        # self.assertFalse(alc.close_device(self._device))

        alc.destroy_context(ctx)
        self.assertTrue(alc.close_device(dev))
Ejemplo n.º 4
0
 def test_get_error(self):
     device = alc.open_device()
     errval = alc.get_error(device)
     self.assertEqual(errval, alc.ALC_NO_ERROR)
     alc.close_device(device)