示例#1
0
 def test_find_incbin_to_replace_for(self):
     global asm, incbin_lines, processed_incbins
     asm = ['first line', 'second line', 'third line',
            'INCBIN "baserom.gbc",$90,$200 - $90',
            'fifth line', 'last line']
     isolate_incbins()
     process_incbins()
     line_num = find_incbin_to_replace_for(0x100)
     # must be the 4th line (the INBIN line)
     self.assertEqual(line_num, 3)
示例#2
0
 def test_split_incbin_line_into_three(self):
     global asm, incbin_lines, processed_incbins
     asm = ['first line', 'second line', 'third line',
            'INCBIN "baserom.gbc",$90,$200 - $90',
            'fifth line', 'last line']
     isolate_incbins()
     process_incbins()
     content = split_incbin_line_into_three(3, 0x100, 10)
     # must end up with three INCBINs in output
     self.failUnless(content.count("INCBIN") == 3)
示例#3
0
 def test_analyze_intervals(self):
     global asm, incbin_lines, processed_incbins
     asm, incbin_lines, processed_incbins = None, [], {}
     asm = ['first line', 'second line', 'third line',
            'INCBIN "baserom.gbc",$90,$200 - $90',
            'fifth line', 'last line',
            'INCBIN "baserom.gbc",$33F,$4000 - $33F']
     isolate_incbins()
     process_incbins()
     largest = analyze_intervals()
     self.assertEqual(largest[0]["line_number"], 6)
     self.assertEqual(largest[0]["line"], asm[6])
     self.assertEqual(largest[1]["line_number"], 3)
     self.assertEqual(largest[1]["line"], asm[3])
示例#4
0
 def test_process_incbins(self):
     global incbin_lines, processed_incbins, asm
     incbin_lines = ['INCBIN "baserom.gbc",$12DA,$12F8 - $12DA',
                     'INCBIN "baserom.gbc",$137A,$13D0 - $137A']
     asm = copy(incbin_lines)
     asm.insert(1, "some other random line")
     processed_incbins = process_incbins()
     self.assertEqual(len(processed_incbins), len(incbin_lines))
     self.assertEqual(processed_incbins[0]["line"], incbin_lines[0])
     self.assertEqual(processed_incbins[2]["line"], incbin_lines[1])