Example #1
0
    def test_id(self):
        """
        Ensure the header can find the NES keyword, otherwise Raise exception
        """
        raw = 'NES\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
        header, prog_rom, chr_rom = read_header(raw)
        self.assertEqual(header['ID'], 'NES')
        self.assertEqual(prog_rom, 0)
        self.assertEqual(chr_rom, 0)
        self.assertEqual(header['MAPPER'], 0)
        self.assertFalse(header['FOUR_SCREEN'])
        self.assertFalse(header['TRAINER'])
        self.assertFalse(header['BATTERY_BACK'])
        self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
        self.assertFalse(header['PLAY_CHOICE_10'])
        self.assertFalse(header['VS_UNISYSTEM'])
        self.assertFalse(header['NES_2.0'])

        raw = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
        with self.assertRaises(IOError):
            read_header(raw)
Example #2
0
    def test_id(self):
        """
        Ensure the header can find the NES keyword, otherwise Raise exception
        """
        raw = 'NES\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
        header, prog_rom, chr_rom = read_header(raw)
        self.assertEqual(header['ID'], 'NES')
        self.assertEqual(prog_rom, 0)
        self.assertEqual(chr_rom, 0)
        self.assertEqual(header['MAPPER'], 0)
        self.assertFalse(header['FOUR_SCREEN'])
        self.assertFalse(header['TRAINER'])
        self.assertFalse(header['BATTERY_BACK'])
        self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
        self.assertFalse(header['PLAY_CHOICE_10'])
        self.assertFalse(header['VS_UNISYSTEM'])
        self.assertFalse(header['NES_2.0'])

        raw = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
        with self.assertRaises(IOError):
            read_header(raw)
Example #3
0
 def test_nes_2_0(self):
     """
     Ensure nes 2.0 can be set
     """
     raw = 'NES\x1a\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00'
     header, prog_rom, chr_rom = read_header(raw)
     self.assertEqual(header['ID'], 'NES')
     self.assertEqual(prog_rom, 0)
     self.assertEqual(chr_rom, 0)
     self.assertEqual(header['MAPPER'], 0)
     self.assertFalse(header['FOUR_SCREEN'])
     self.assertFalse(header['TRAINER'])
     self.assertFalse(header['BATTERY_BACK'])
     self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
     self.assertFalse(header['PLAY_CHOICE_10'])
     self.assertFalse(header['VS_UNISYSTEM'])
     self.assertTrue(header['NES_2.0'])
Example #4
0
 def test_mirroring(self):
     """
     Ensure mirroring can be set to vertical
     """
     raw = 'NES\x1a\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00'
     header, prog_rom, chr_rom = read_header(raw)
     self.assertEqual(header['ID'], 'NES')
     self.assertEqual(prog_rom, 0)
     self.assertEqual(chr_rom, 0)
     self.assertEqual(header['MAPPER'], 0)
     self.assertFalse(header['FOUR_SCREEN'])
     self.assertFalse(header['TRAINER'])
     self.assertFalse(header['BATTERY_BACK'])
     self.assertEqual(header['MIRRORING'], 'VERTICAL')
     self.assertFalse(header['PLAY_CHOICE_10'])
     self.assertFalse(header['VS_UNISYSTEM'])
     self.assertFalse(header['NES_2.0'])
Example #5
0
 def test_nes_2_0(self):
     """
     Ensure nes 2.0 can be set
     """
     raw = 'NES\x1a\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00'
     header, prog_rom, chr_rom = read_header(raw)
     self.assertEqual(header['ID'], 'NES')
     self.assertEqual(prog_rom, 0)
     self.assertEqual(chr_rom, 0)
     self.assertEqual(header['MAPPER'], 0)
     self.assertFalse(header['FOUR_SCREEN'])
     self.assertFalse(header['TRAINER'])
     self.assertFalse(header['BATTERY_BACK'])
     self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
     self.assertFalse(header['PLAY_CHOICE_10'])
     self.assertFalse(header['VS_UNISYSTEM'])
     self.assertTrue(header['NES_2.0'])
Example #6
0
 def test_mirroring(self):
     """
     Ensure mirroring can be set to vertical
     """
     raw = 'NES\x1a\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00'
     header, prog_rom, chr_rom = read_header(raw)
     self.assertEqual(header['ID'], 'NES')
     self.assertEqual(prog_rom, 0)
     self.assertEqual(chr_rom, 0)
     self.assertEqual(header['MAPPER'], 0)
     self.assertFalse(header['FOUR_SCREEN'])
     self.assertFalse(header['TRAINER'])
     self.assertFalse(header['BATTERY_BACK'])
     self.assertEqual(header['MIRRORING'], 'VERTICAL')
     self.assertFalse(header['PLAY_CHOICE_10'])
     self.assertFalse(header['VS_UNISYSTEM'])
     self.assertFalse(header['NES_2.0'])
Example #7
0
 def test_prog_rom(self):
     """
     Ensure all possible prog rom sizes work.
     """
     prefix = 'NES\x1a'
     suffix = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
     for i in range(0, 256):
         header, prog_rom, chr_rom = \
                 read_header(prefix + struct.pack('B', i) + suffix)
         self.assertEqual(header['ID'], 'NES')
         self.assertEqual(prog_rom, i)
         self.assertEqual(chr_rom, 0)
         self.assertEqual(header['MAPPER'], 0)
         self.assertFalse(header['FOUR_SCREEN'])
         self.assertFalse(header['TRAINER'])
         self.assertFalse(header['BATTERY_BACK'])
         self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
         self.assertFalse(header['PLAY_CHOICE_10'])
         self.assertFalse(header['VS_UNISYSTEM'])
         self.assertFalse(header['NES_2.0'])
Example #8
0
 def test_prog_rom(self):
     """
     Ensure all possible prog rom sizes work.
     """
     prefix = 'NES\x1a'
     suffix = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
     for i in range(0, 256):
         header, prog_rom, chr_rom = \
                 read_header(prefix + struct.pack('B', i) + suffix)
         self.assertEqual(header['ID'], 'NES')
         self.assertEqual(prog_rom, i)
         self.assertEqual(chr_rom, 0)
         self.assertEqual(header['MAPPER'], 0)
         self.assertFalse(header['FOUR_SCREEN'])
         self.assertFalse(header['TRAINER'])
         self.assertFalse(header['BATTERY_BACK'])
         self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
         self.assertFalse(header['PLAY_CHOICE_10'])
         self.assertFalse(header['VS_UNISYSTEM'])
         self.assertFalse(header['NES_2.0'])
Example #9
0
 def test_mapper(self):
     """
     Ensure all possible mappers work.
     """
     prefix = 'NES\x1a\x00\x00'
     suffix = '\x00\x00\x00\x00\x00\x00\x00'
     for low in range(0, 16):
         for high in range(0, 16):
             mapper = high * 16 + low
             mapper_str = struct.pack( \
                     'B', (low << 4)) + struct.pack('B', (high << 4))
             header, prog_rom, chr_rom = \
                     read_header(prefix + mapper_str + suffix)
             self.assertEqual(header['ID'], 'NES')
             self.assertEqual(prog_rom, 0)
             self.assertEqual(chr_rom, 0)
             self.assertEqual(header['MAPPER'], mapper)
             self.assertFalse(header['FOUR_SCREEN'])
             self.assertFalse(header['TRAINER'])
             self.assertFalse(header['BATTERY_BACK'])
             self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
             self.assertFalse(header['PLAY_CHOICE_10'])
             self.assertFalse(header['VS_UNISYSTEM'])
             self.assertFalse(header['NES_2.0'])
Example #10
0
 def test_mapper(self):
     """
     Ensure all possible mappers work.
     """
     prefix = 'NES\x1a\x00\x00'
     suffix = '\x00\x00\x00\x00\x00\x00\x00'
     for low in range(0, 16):
         for high in range(0, 16):
             mapper = high * 16 + low
             mapper_str = struct.pack( \
                     'B', (low << 4)) + struct.pack('B', (high << 4))
             header, prog_rom, chr_rom = \
                     read_header(prefix + mapper_str + suffix)
             self.assertEqual(header['ID'], 'NES')
             self.assertEqual(prog_rom, 0)
             self.assertEqual(chr_rom, 0)
             self.assertEqual(header['MAPPER'], mapper)
             self.assertFalse(header['FOUR_SCREEN'])
             self.assertFalse(header['TRAINER'])
             self.assertFalse(header['BATTERY_BACK'])
             self.assertEqual(header['MIRRORING'], 'HORIZONTAL')
             self.assertFalse(header['PLAY_CHOICE_10'])
             self.assertFalse(header['VS_UNISYSTEM'])
             self.assertFalse(header['NES_2.0'])