def test_preserve_date(self): game_file = GameFile('Game (2017-06-06)(Company).tzx') tosec_output_name = game_file.getTOSECName() self.assertEqual(tosec_output_name, 'Game (2017-06-06)(Company).tzx') db = Database() game = db.getGameByWosID(30408) game_file = GameFile( 'tosec\itch.io\Games\Robot 1 in... The Ship of Doom (2017-06-18)(Recardo, Mat)(48K-128K).tzx', source='tosec') game.addFile(game_file) self.assertEqual(game_file.release.year, '2017-06-18') tosec_output_name = game_file.getTOSECName() self.assertEqual( tosec_output_name, 'Robot 1 in... The Ship of Doom (2017-06-18)(Recardo, Mat)(48K-128K).tzx' )
def test_file_length(self): game_file = GameFile( "ZX Spectrum+ User Guide Companion Cassette (1984)(Dorling Kindersley)(GB)(es)(Side A).tap" ) game_file.notes = "[aka ZX Spectrum+ GuideCassette De L'Utilisateur][aka ZX Spectrum+ Kaseta sa Uputstvom za Upotrebu][aka ZX Spectrum+ Guia Para el Empleo][aka Cassetta Di Guida Per L'Utente][aka Kilavuz Ve Yardimci Kaset][aka Cassette Bij Handleiding][aka Kassette fur Benutzer][aka Kayttajan Opaskasetti]" game_file.alt_dest = game_file.getTOSECName() MAX_GAME_NAME_LENGTH = 200 MAX_DESTINATION_PATH_LENGTH = 200 if len(game_file.alt_dest) > MAX_DESTINATION_PATH_LENGTH: for game_name_length in range(MAX_GAME_NAME_LENGTH, MIN_GAME_NAME_LENGTH - 10, -10): game_file.removeAka() game_file.alt_dest = game_file.getTOSECName( game_name_length=game_name_length) if len(game_file.alt_dest) <= MAX_DESTINATION_PATH_LENGTH: break self.assertLessEqual(len(game_file.alt_dest), 200)
def test_country(self): game_file = GameFile('Game (19xx)(Publisher).tap') game_file.release.country = 'GB' game_file.language = 'en' self.assertEqual(game_file.getTOSECName(), 'Game (19xx)(Publisher).tap') game_file.release.country = 'CZ' game_file.language = 'cz' self.assertEqual(game_file.getTOSECName(), 'Game (19xx)(Publisher)(CZ).tap') game_file.release.country = 'GB' game_file.language = 'es' self.assertEqual(game_file.getTOSECName(), 'Game (19xx)(Publisher)(GB)(es).tap') game_file.release.country = 'RU' game_file.language = 'en' self.assertEqual(game_file.getTOSECName(), 'Game (19xx)(Publisher)(RU)(en).tap') game_file.release.country = '' game_file.language = 'en' self.assertEqual(game_file.getTOSECName(), 'Game (19xx)(Publisher).tap') game_file = GameFile( 'Sinclair ZX Spectrum\Games\[TAP]\Mihotabpa (19xx)(-)(ru).tap') self.assertEqual(game_file.getTOSECName(), 'Mihotabpa (19xx)(-)(ru).tap') game_file = GameFile( 'Sinclair ZX Spectrum\Games\[TAP]\Mihotabpa (19xx)(-)(ru)[tr ru].tap' ) self.assertEqual(game_file.getTOSECName(), 'Mihotabpa (19xx)(-)[tr ru].tap')
def test_dot_in_game_name(self): game = Game('H.E.R.O.') file = GameFile('H.E.R.O. (19xx)(-).tap') file.game = game self.assertEqual(file.getTOSECName(), 'H.E.R.O. (19xx)(-).tap')
def test_adult_game(self): game_file = GameFile('Game (19xx)(-).tap') game_file.game.x_rated = True game_file.alt_mod_flag = '[a]' tosec_name = game_file.getTOSECName() self.assertEqual(tosec_name, 'Game (19xx)(-)[a][adult].tap')
def test_picking_best_release_name(self): g = Game('Dizzy 2 - Treasure Island Dizzy') r = GameRelease(game=g) f = GameFile('Dizzy II - Treasure Island Dizzy (19xx)(-).tap') r.addFile(f) f.setAka() self.assertEqual(f.getTOSECName(), 'Dizzy 2 - Treasure Island Dizzy (19xx)(-).tap') g = Game('Bug-Eyes') r = GameRelease(game=g) f = GameFile('Bor-Fies (19xx)(-)[aka Bug-Eyes].tap') r.addFile(f) f.setAka() self.assertEqual(f.getTOSECName(), 'Bug-Eyes (19xx)(-)[aka Bor-Fies].tap') db = Database() g = db.getGameByWosID(1799) r = g.releases[3] f = GameFile( 'Sinclair ZX Spectrum\Games\[TZX]\Picapiedra, Los (1989)(MCM Software)[48-128K][aka Flintstones, The].tap' ) r.addFile(f) f.setAka() self.assertEqual( f.getTOSECName(), 'Picapiedra, Los (1989)(MCM)(48K-128K)(ES)(en)[aka Flintstones, The].tap' ) g = Game('Alcatraz II') r = GameRelease( game=g, aliases= 'Alcatraz II - The Doomsday Mission/Alcatraz II/Alcatrazz 2 - The Doomsday Mission' .split('/')) f = GameFile('Doomsday Mission.tap') r.addFile(f) f.setAka() self.assertEqual( f.getTOSECName(), 'Alcatraz II - The Doomsday Mission (19xx)(-)[aka Alcatrazz 2 - The Doomsday Mission].tap' ) g = Game('Cribbage') r = GameRelease(game=g) f = GameFile('Cribbage - Intro (19xx)(-).tap') r.addFile(f) f.setAka() self.assertEqual(f.getTOSECName(), 'Cribbage (19xx)(-).tap') g = Game('Everyday Tale of a Seeker of Gold, An') r = GameRelease(game=g, aliases= \ 'Everyday Tale of a Seeker of Gold, An/An Everyday Tale of a Seeker of Gold'.split('/')) f = GameFile('Tale of a Seeker of Gold.mgt') r.addFile(f) f.setAka() self.assertEqual( f.getTOSECName(), 'Everyday Tale of a Seeker of Gold, An (19xx)(-).mgt') g = Game('Live and Let Die') r = GameRelease( game=g, aliases=['Aquablast', 'Live and Let Die - The Computer Game']) f = GameFile('Aquablast.tap') r.addFile(f) f.setAka() self.assertEqual( f.getTOSECName(), 'Live and Let Die - The Computer Game (19xx)(-)[aka Aquablast].tap' ) g = Game('Where Time Stood Still') r = GameRelease(game=g, aliases=[ 'Land That Time Forgot, The', 'Where Time Stood Still', 'Tibet' ]) f = GameFile('where time stood still.tap') r.addFile(f) f.setAka() self.assertEqual( f.getTOSECName(), 'Where Time Stood Still (19xx)(-)[aka Land That Time Forgot, The][aka Tibet].tap' ) g = Game('Adventures of St. Bernard, The') r = GameRelease(game=g, aliases= \ 'Adventures of Saint Bernard, The/Adventures of St. Bernard, The/The Adventures of St. Bernard'.split('/')) f = GameFile('saint bernard.tap') r.addFile(f) f.setAka() self.assertEqual( f.getTOSECName(), 'Adventures of St. Bernard, The (19xx)(-)[aka Adventures of Saint Bernard, The].tap' )