Mercurial > fife-parpg
diff tests/swig_tests/resource_tests.py @ 0:4a0efb7baf70
* Datasets becomes the new trunk and retires after that :-)
author | mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sun, 29 Jun 2008 18:44:17 +0000 |
parents | |
children | d2f1e81fbe2c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/swig_tests/resource_tests.py Sun Jun 29 18:44:17 2008 +0000 @@ -0,0 +1,56 @@ +#!/usr/bin/env python +import sys +from swig_test_utils import * +from serializers import * +from serializers.xmlanimation import XMLAnimationLoader + +class TestPool(unittest.TestCase): + + def setUp(self): + self.engine = getEngine() + + def tearDown(self): + del self.engine + + def testImagePool(self): + pool = self.engine.getImagePool() + self.assert_(pool) + self.assert_(pool.getResourceCount(fife.RES_LOADED) == 0) + id = pool.addResourceFromFile('tests/data/beach_e1.png') + self.assertEqual(pool.getResourceCount(fife.RES_LOADED), 0) + self.assertEqual(pool.getResourceCount(fife.RES_NON_LOADED), 1) + img = pool.getImage(id) + self.assertEqual(pool.getResourceCount(fife.RES_LOADED), 1) + self.assertEqual(pool.getResourceCount(fife.RES_NON_LOADED), 0) + + def testImagePoolFail(self): + pool = self.engine.getImagePool() + id = pool.addResourceFromFile('bogus_image.png') + self.assertRaises(RuntimeError,pool.getImage,id) + + def testAnimationPool(self): + pool = self.engine.getAnimationPool() + animationloader = XMLAnimationLoader(self.engine.getImagePool(), self.engine.getVFS()) + pool.addResourceLoader(animationloader) + + self.assert_(pool) + self.assert_(pool.getResourceCount(fife.RES_LOADED) == 0) + id = pool.addResourceFromFile('tests/data/wolf_walk/wolf_walk_sw.xml') + self.assertEqual(pool.getResourceCount(fife.RES_LOADED), 0) + self.assertEqual(pool.getResourceCount(fife.RES_NON_LOADED), 1) + animation = pool.getAnimation(id) + self.assertEqual(pool.getResourceCount(fife.RES_LOADED), 1) + self.assertEqual(pool.getResourceCount(fife.RES_NON_LOADED), 0) + + def testAnimationPoolFail(self): + pool = self.engine.getAnimationPool() + animationloader = XMLAnimationLoader(self.engine.getImagePool(), self.engine.getVFS()) + pool.addResourceLoader(animationloader) + + id = pool.addResourceFromFile('bogus_animation.xml') + #self.assertRaises(RuntimeError, pool.getAnimation, id) #<- this test still passes, but crashes python on exit + +TEST_CLASSES = [TestPool] + +if __name__ == '__main__': + unittest.main()