def test_get_luke_team_filename(self): luke = Guest('Luke', LUKE_STATS) guest_list = GuestList() guest_list.add_guest(luke) self.assertEqual(guest_list.get_guest_status('Luke'), 'available') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke'), 'gui/inventory/icons/char_Luke_color') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke', size='big'), 'gui/inventory/icons/big/char_Luke_color')
def test_guest_tooltip(self): guest_list = GuestList() luke = Guest('Luke', LUKE_STATS) known_guests = [] # luke is not known self.assertEqual(get_guest_tooltip(guest_list, known_guests=known_guests, guest_name='Luke', guest_desc=preset_guest_descriptions['Luke']), {'title': '???', 'description': ''}) # luke is known from another playthrough but not currently checked in known_guests.append('Luke') self.assertEqual(get_guest_tooltip(guest_list, known_guests=known_guests, guest_name='Luke', guest_desc=preset_guest_descriptions['Luke']), {'title': 'Luke', 'description': ''}) # luke is added to the current playthrough's guest list guest_list.add_guest(luke) self.assertEqual(get_guest_tooltip(guest_list, known_guests=known_guests, guest_name='Luke', guest_desc=preset_guest_descriptions['Luke']), {'title': 'Luke', 'description': preset_guest_descriptions['Luke']})
def test_inventory_filename(self): guest_list = GuestList() luke = Guest('Luke', LUKE_STATS) known_guests = [] # luke is not known self.assertEqual(get_guest_inventory_filename(guest_list, guest_name='Luke', known_guests=known_guests), 'gui/inventory/icons/char_Luke_black') # luke is known from another playthrough but not currently checked in known_guests.append('Luke') self.assertEqual(get_guest_inventory_filename(guest_list, guest_name='Luke', known_guests=known_guests), 'gui/inventory/icons/char_Luke_orange') # luke is added to the current playthrough's guest list guest_list.add_guest(luke) self.assertEqual(get_guest_inventory_filename(guest_list, guest_name='Luke', known_guests=known_guests), 'gui/inventory/icons/char_Luke_color')
def test_create_guest_list(self): luke = Guest('Luke', LUKE_STATS) guest_list = GuestList() self.assertFalse(guest_list.has_guest('Luke')) guest_list.add_guest(luke) self.assertTrue(guest_list.has_guest('Luke')) self.assertEqual(guest_list.get_guest_status('Luke'), 'available') self.assertEqual(guest_list.get_free_guests().names()[0], 'Luke')
def test_orange_team_filename_if_unavailable(self): luke = Guest('Luke', LUKE_STATS) guest_list = GuestList() guest_list.add_guest(luke) self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke'), 'gui/inventory/icons/char_Luke_color') guest_list.send_guest_to_exploration('Luke') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke'), 'gui/inventory/icons/char_Luke_color') guest_list.disable_guest('Luke') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke'), 'gui/inventory/icons/char_Luke_orange') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke', size='big'), 'gui/inventory/icons/big/char_Luke_orange')
def test_get_next_guest_scene(self): luke = Guest('Luke', LUKE_STATS) kota = Guest('Kota', KOTA_STATS) current_build_max = {'Luke': 3, 'Kota': 1} guest_route_max = {'Luke': 3, 'Kota': 2} guest_list = GuestList() guest_list.add_guest(luke) guest_list.add_guest(kota) self.assertEqual(guest_list.get_next_guest_scene('Luke'), 'Luke_0') self.assertEqual(guest_list.get_next_guest_scene('Kota'), 'Kota_0') guest_list.advance_guest_route('Luke', guest_route_max) self.assertEqual(guest_list.get_next_guest_scene('Luke'), 'Luke_1')
def test_asterion_team_filename_matches_fur_color(self): asterion = Guest('Asterion', ASTERION_STATS) luke = Guest('Luke', LUKE_STATS) guest_list = GuestList() guest_list.add_guest(luke) guest_list.add_guest(asterion) self.assertEqual(get_guest_team_filename(guest_list, guest_name='Asterion'), 'gui/inventory/icons/char_Asterion_color') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Asterion', asterion_fur='white'), 'gui/inventory/icons/char_Asterion_color') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Asterion', asterion_fur='brown'), 'gui/inventory/icons/char_Asterion_color_brown') # check if adding asterion_fur affects luke's filename self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke'), 'gui/inventory/icons/char_Luke_color') self.assertEqual(get_guest_team_filename(guest_list, guest_name='Luke', asterion_fur='brown'), 'gui/inventory/icons/char_Luke_color')
def test_start_relationship_modifies_guest_list(self): luke = Guest('Luke', preset_guest_stats['Luke']) black = Guest('Black', preset_guest_stats['Black']) luke_black = Relationship(['Luke', 'Black'], stats=preset_couple_stats['Luke,Black']['stats']) guest_list = GuestList() guest_list.add_guest(luke) guest_list.add_guest(black) rel_list = RelationshipList() rel_list.add_relationship(luke_black) self.assertEqual(rel_list.get_relationship_progress('Luke'), 0) self.assertEqual(guest_list.guests['Luke'].romance_status, 'single') rel_list.advance_relationship(['Luke', 'Black'], guest_list=guest_list) self.assertEqual(rel_list.get_relationship_progress('Luke'), 1) self.assertEqual(guest_list.guests['Luke'].romance_status, 'dating') self.assertEqual(guest_list.guests['Luke'].romance_partner, 'Black') self.assertEqual(rel_list.get_relationship_status('Luke,Black'), 'started')
from model.guest import GuestList from model.inventory import Inventory, FileList from model.couple import RelationshipList from model.reward import RewardList from model.daily_event import DailyEventList from model.wardrobe import Wardrobe player_background = "" current_chapter = "" guests = GuestList() inventory = Inventory() relationships = RelationshipList() rewards = RewardList() daily_events = DailyEventList() wardrobe = Wardrobe() UI_permissions = {'ledger': False, 'items': False, 'guests': False, 'rd': False, 'exploration': False, 'fragments': False, 'files': False, 'file_profile': False, 'file_mementos': False, 'file_tech': False, 'file_contracts': False, 'file_artifacts': False} # permanent variables
def test_available_routes(self): luke = Guest('Luke', LUKE_STATS) kota = Guest('Kota', KOTA_STATS) current_build_max = {'Luke': 3, 'Kota': 1} guest_route_max = {'Luke': 3, 'Kota': 2} guest_list = GuestList() guest_list.add_guest(luke) guest_list.add_guest(kota) choices, guests = guest_list.get_available_guest_routes( current_build_max) self.assertEqual(choices, [("Luke's scene #0", 'Luke_0'), ("Kota's scene #0", 'Kota_0')]) self.assertEqual(guests, ['Luke', 'Kota']) guest_list.send_guest_to_rd('Kota') choices, guests = guest_list.get_available_guest_routes( current_build_max) self.assertEqual(choices, [("Luke's scene #0", 'Luke_0')]) self.assertEqual(guests, ['Luke']) guest_list.free_guest('Kota') guest_list.advance_guest_route('Luke', guest_route_max) choices, guests = guest_list.get_available_guest_routes( current_build_max) self.assertEqual(choices, [("Luke's scene #1", 'Luke_1'), ("Kota's scene #0", 'Kota_0')]) self.assertEqual(guests, ['Luke', 'Kota']) self.assertEqual(guest_list.guests['Kota'].route_progress, 0) guest_list.advance_guest_route('Kota', guest_route_max) self.assertEqual(guest_list.guests['Kota'].route_progress, 1) choices, guests = guest_list.get_available_guest_routes( current_build_max) self.assertEqual(choices, [("Luke's scene #1", 'Luke_1')]) self.assertEqual(guests, ['Luke']) guest_list.advance_guest_route('Luke', guest_route_max, 2) self.assertTrue(guest_list.guests['Luke'].route_complete) choices, guests = guest_list.get_available_guest_routes( current_build_max) self.assertEqual(choices, []) self.assertEqual(guests, [])
def test_team_stat_total(self): luke = Guest('Luke', LUKE_STATS) kota = Guest('Kota', KOTA_STATS) guest_list = GuestList() guest_list.add_guest(luke) guest_list.add_guest(kota) self.assertEqual(len(guest_list.get_rd_team()), 0) self.assertEqual( guest_list.get_rd_team().sum_stats().get_value('Contract'), 0) guest_list.send_guest_to_rd('Luke') self.assertEqual(len(guest_list.get_rd_team()), 1) self.assertEqual( guest_list.get_rd_team().sum_stats().get_value('Contract'), LUKE_STATS['Contract']) guest_list.send_guest_to_rd('Kota') self.assertEqual(len(guest_list.get_rd_team()), 2) self.assertEqual( guest_list.get_rd_team().sum_stats().get_value('Contract'), LUKE_STATS['Contract'] + KOTA_STATS['Contract'])
def test_move_guests_around(self): luke = Guest('Luke', LUKE_STATS) kota = Guest('Kota', KOTA_STATS) guest_list = GuestList() guest_list.add_guest(luke) guest_list.add_guest(kota) self.assertEqual(guest_list.get_guest_status('Luke'), 'available') self.assertEqual(guest_list.get_guest_status('Kota'), 'available') self.assertTrue('Luke' in guest_list.get_free_guests().names()) guest_list.send_guest_to_rd('Luke') self.assertFalse('Luke' in guest_list.get_free_guests().names()) self.assertTrue('Luke' in guest_list.get_rd_team().names()) guest_list.send_guest_to_exploration('Kota') self.assertFalse('Kota' in guest_list.get_free_guests().names()) self.assertTrue('Kota' in guest_list.get_exploration_team().names()) guest_list.free_guest('Luke') self.assertTrue('Luke' in guest_list.get_free_guests().names()) self.assertFalse('Luke' in guest_list.get_rd_team().names())