コード例 #1
0
ファイル: composer_test.py プロジェクト: acs022/pyNES
    def test_undefined_def_raises_nameerror(self):
        code = (
            'from pynes.bitbag import *\n'
            
            'undefined_def()\n'
            )

        with self.assertRaises(NameError) as nm:
            compose(code)

        self.assertEquals("name 'undefined_def' is not defined",
            nm.exception.message)
コード例 #2
0
ファイル: composer_test.py プロジェクト: acs022/pyNES
    def test_load_palette_raises_typeerror_when_called_without_args(self):
        code = (
            'from pynes.bitbag import *\n'

            'load_palette()'
        )

        with self.assertRaises(TypeError) as te:
            compose(code)

        self.assertEquals(
            'load_palette() takes exactly 2 arguments (1 given)',
            te.exception.message)
コード例 #3
0
ファイル: composer_test.py プロジェクト: acs022/pyNES
    def test_wait_vblank_raises_typeerror_when_called_with_args(self):
        code = (
            'from pynes.bitbag import *\n'

            'wait_vblank(1)'
        )

        with self.assertRaises(TypeError) as te:
            compose(code)

        self.assertEquals(
            'wait_vblank() takes exactly 1 argument (2 given)',
            te.exception.message)
コード例 #4
0
 def test_rs_with_scroll(self):
     code = ('from pynes.bitbag import *\n'
             'scroll = rs(1)\n'
             'nametable = rs(1)\n'
             'columnLow = rs(1)\n'
             'columnHigh = rs(1)\n'
             'sourceLow = rs(1)\n'
             'sourceHigh = rs(1)\n'
             'columnNumber = rs(1)\n')
     game = compose(code)
     asm = game.to_asm()
     self.assertEquals(7, len(game._vars))
     self.assertEquals(1, game._vars['scroll'].size)
     self.assertEquals(1, game._vars['nametable'].size)
     self.assertEquals(1, game._vars['columnLow'].size)
     self.assertEquals(1, game._vars['columnHigh'].size)
     self.assertEquals(1, game._vars['sourceLow'].size)
     self.assertEquals(1, game._vars['sourceHigh'].size)
     self.assertEquals(1, game._vars['columnNumber'].size)
     self.assertTrue('.bank 0' not in asm)
     self.assertTrue('.org $C000' not in asm)
     # self.assertTrue('.bank 1' not in asm)
     self.assertTrue('.org $E000' not in asm)
     self.assertTrue('.rsset $0000' in asm)
     self.assertTrue('scroll .rs 1' in asm)
     self.assertTrue('nametable .rs 1' in asm)
     self.assertTrue('columnLow .rs 1' in asm)
     self.assertTrue('columnHigh .rs 1' in asm)
     self.assertTrue('sourceLow .rs 1' in asm)
     self.assertTrue('sourceHigh .rs 1' in asm)
     self.assertTrue('columnNumber .rs 1' in asm)
コード例 #5
0
ファイル: composer_test.py プロジェクト: acs022/pyNES
 def test_rs_with_scroll(self):
     code = (
         'from pynes.bitbag import *\n'
         'scroll = rs(1)\n'
         'nametable = rs(1)\n'
         'columnLow = rs(1)\n'
         'columnHigh = rs(1)\n'
         'sourceLow = rs(1)\n'
         'sourceHigh = rs(1)\n'
         'columnNumber = rs(1)\n')
     game = compose(code)
     asm = game.to_asm()
     self.assertEquals(7, len(game._vars))
     self.assertEquals(1, game._vars['scroll'].size)
     self.assertEquals(1, game._vars['nametable'].size)
     self.assertEquals(1, game._vars['columnLow'].size)
     self.assertEquals(1, game._vars['columnHigh'].size)
     self.assertEquals(1, game._vars['sourceLow'].size)
     self.assertEquals(1, game._vars['sourceHigh'].size)
     self.assertEquals(1, game._vars['columnNumber'].size)
     self.assertTrue('.bank 0' not in asm)
     self.assertTrue('.org $C000' not in asm)
     #self.assertTrue('.bank 1' not in asm)
     self.assertTrue('.org $E000' not in asm)
     self.assertTrue('.rsset $0000' in asm)
     self.assertTrue('scroll .rs 1' in asm)
     self.assertTrue('nametable .rs 1' in asm)
     self.assertTrue('columnLow .rs 1' in asm)
     self.assertTrue('columnHigh .rs 1' in asm)
     self.assertTrue('sourceLow .rs 1' in asm)
     self.assertTrue('sourceHigh .rs 1' in asm)
     self.assertTrue('columnNumber .rs 1' in asm)
コード例 #6
0
ファイル: composer_test.py プロジェクト: danilobellini/pyNES
    def test_movingsprite(self):
        code = (
            'from pynes.bitbag import *\n'

            #'import_chr("player.chr")\n'
            'palette = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n'
            '    0x0F, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59,\n'
            '    60, 61, 62, 63 ]\n'
            #'sprite = define_sprite()\n'
            'px = rs(1)\n'
            'py = rs(1)\n'

            'def reset():\n'
            '    wait_vblank()\n'
            #'    clearmen()\n'
            '    wait_vblank()\n'
            #'    load_palette(palette)\n'
            #'    load_sprite(sprite)\n'

            'def joypad1_up():\n'
            '    global y\n'
            '    py += 1\n'

            'def joypad1_down():\n'
            '    global y\n'
            '    py -= 1\n'

            'def joypad1_left():\n'
            '     get_sprite(0).x += 1'
            #'    global x\n'
            #'    px -= 1\n'

            #'def joypad1_right():\n'
            #'    global x\n'
            #'    px += 1\n'
            )

        game = compose(code)
        asm = game.to_asm()
        #self.assertEquals(1, len(game.bitpaks))
        self.assertTrue('.bank 0' in asm)
        self.assertTrue('.org $C000' in asm)
        self.assertTrue('.bank 1' in asm)
        self.assertTrue('.org $E000' in asm)
        self.assertTrue('NMI:' in asm)
        self.assertTrue('JoyPad1Select:' in asm)
        self.assertTrue('JoyPad1Start:' in asm)
        self.assertTrue('JoyPad1A:' in asm)
        self.assertTrue('JoyPad1B:' in asm)
        self.assertTrue('JoyPad1Up:' in asm)
        self.assertTrue('JoyPad1Down:' in asm)
        self.assertTrue('JoyPad1Left:' in asm)
        self.assertTrue('JoyPad1Right:' in asm)
コード例 #7
0
def press_start(asm=False):
    filename = sys.argv[0]
    pyfile = open(filename)
    code = pyfile.read()
    pyfile.close()
    game = compose(code)
    asmcode = game.to_asm()

    if (asm):
        asm_filename = filename + '.asm'
        asm_file = open(asm_filename, 'w')
        asm_file.write(asmcode)
        asm_file.close()
        print(asm_filename)
コード例 #8
0
ファイル: __init__.py プロジェクト: gabriel-ozeas/pyNES
def press_start(asm = False):
    filename = sys.argv[0]
    pyfile = open(filename)
    code = pyfile.read()
    pyfile.close()
    game = compose(code)
    asmcode = game.to_asm()

    if (asm):
        asm_filename = filename + '.asm'
        asm_file = open(asm_filename, 'w')
        asm_file.write(asmcode)
        asm_file.close()
        print asm_filename
コード例 #9
0
ファイル: __init__.py プロジェクト: ickybodclay/pyNES
def press_start(asm=False):
    filename = sys.argv[0]
    pyfile = open(filename)
    code = pyfile.read()
    pyfile.close()
    game = compose(code)
    asmcode = game.to_asm()

    if asm:
        asm_filename = filename + ".asm"
        asm_file = open(asm_filename, "w")
        asm_file.write(asmcode)
        asm_file.close()
        print(asm_filename)
コード例 #10
0
    def test_rs_with_x_and_y_with_size_1(self):
        code = ('from pynes.bitbag import *\n' 'x = rs(1)\n' 'y = rs(1)')
        game = compose(code)
        asm = game.to_asm()
        self.assertEquals(2, len(game._vars))
        self.assertEquals(1, game._vars['x'].size)
        self.assertEquals(1, game._vars['y'].size)
        self.assertTrue('.bank 0' not in asm)
        self.assertTrue('.org $C000' not in asm)
        # self.assertTrue('.bank 1' not in asm)
        self.assertTrue('.org $E000' not in asm)

        self.assertTrue('.rsset $0000' in asm)
        self.assertTrue('x .rs 1' in asm)
        self.assertTrue('y .rs 1' in asm)
コード例 #11
0
ファイル: composer_test.py プロジェクト: acs022/pyNES
    def test_rs_with_x_and_y_with_size_1(self):
        code = (
            'from pynes.bitbag import *\n'
            'x = rs(1)\n'
            'y = rs(1)')
        game = compose(code)
        asm = game.to_asm()
        self.assertEquals(2, len(game._vars))
        self.assertEquals(1, game._vars['x'].size)
        self.assertEquals(1, game._vars['y'].size)
        self.assertTrue('.bank 0' not in asm)
        self.assertTrue('.org $C000' not in asm)
        #self.assertTrue('.bank 1' not in asm)
        self.assertTrue('.org $E000' not in asm)

        self.assertTrue('.rsset $0000' in asm)
        self.assertTrue('x .rs 1' in asm)
        self.assertTrue('y .rs 1' in asm)
コード例 #12
0
ファイル: __init__.py プロジェクト: gabriel-ozeas/pyNES
 def assert_asm_from(self, code):
     self.code = code
     self.game = compose(code)
     self.asm = self.game.to_asm()
     return WhatElse(self)
コード例 #13
0
ファイル: __init__.py プロジェクト: davefmurray/pyNES
 def assert_asm_without_ines_from(self, code):
     self.code = code
     self.game = compose(code)
     self.asm = self.game.to_asm()
     compile(self.asm, self.path)
     return WhatElse(self)
コード例 #14
0
ファイル: __init__.py プロジェクト: BmanisKing/Mine
 def assert_asm_without_ines_from(self, code):
     self.code = code
     self.game = compose(code)
     self.asm = self.game.to_asm()
     compile(self.asm, self.path)
     return WhatElse(self)