1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import gameduino
- import unittest
- import Image
- import StringIO
- import gameduino.prep as gdprep
- import gameduino.sim as gdsim
- import gameduino.compress as compress
- import gameduino
- class TestGameduino(unittest.TestCase):
- def setUp(self):
- self.bg = Image.open("platformer.png")
- pass
- def test_encode(self):
- im = self.bg.convert("RGB")
- w,h = im.size
- (pic,chr,pal) = gdprep.encode(im)
- self.assertEqual(len(chr.tostring()) / 16, len(pal.tostring()) / 8)
- self.assertEqual(len(pic), (w / 8) * (h / 8))
- def test_imageRAM(self):
- hh = StringIO.StringIO()
- singles = [Image.open("rock0r-pal16.png"),
- gdprep.palettize(Image.open("rock0r.png"), 16),
- gdprep.palettize(Image.open("rock0r-pal16.png"), 16)]
- for r in singles:
- print r.mode
- ir = gdprep.ImageRAM(hh)
- ir.addsprites("rock0", (16, 16), r, gdprep.PALETTE16A, center = (8,8))
- self.assert_(len(hh.getvalue()) > 0)
- self.assertEqual(len(gdprep.getpal(r)), 16)
- ir = gdprep.ImageRAM(hh)
- (walk,) = gdprep.palettize([Image.open("walk.png")], 16)
- ir.addsprites("walk", (32, 32), walk, gdprep.PALETTE16A, center = (8,32))
- print len(ir.used())
- print hh.getvalue()
- def test_compress(self):
- cc = compress.Codec(b_off = 9, b_len = 3)
- for plain in [ "00000111100000", "This is this" * 4]:
- compressed = cc.compress(plain)
- print "compressed to", len(compressed), "tokens"
- print compressed
- self.assertEqual(plain, cc.decompress(compressed))
- print len(cc.sched2bs(compressed))
- def test_sim(self):
- gd = gdsim.Gameduino()
- self.assertEqual(gd.rd(gameduino.IDENT), 0x6d)
- i = gd.im()
- self.assertEqual(i.size, (400,300))
- def test_prep_sim(self):
- im = self.bg.convert("RGB")
- (pic,chr,pal) = gdprep.encode(im)
- gd = gdsim.Gameduino()
- gd.wrstr(gameduino.RAM_PIC, pic)
- gd.wrstr(gameduino.RAM_CHR, chr)
- gd.wrstr(gameduino.RAM_PAL, pal)
- gd.im().save("preview.png")
- def test_471fcf9e(self):
- im = Image.open("471fcf9e.png")
- imp = gdprep.palettize(im, 16)
- print gdprep.getpal(imp)
- if __name__ == '__main__':
- unittest.main()
|