def test_story_speaker_player_name_replaced(asset_manager: AssetManager): story_data = asset_manager.loader_story.load_unit_story( Language.EN, UnitType.CHARACTER, 110030011) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[38] assert isinstance(entry, StoryEntryConversation) assert entry.speaker_name == "Euden"
def test_speaker_reveal_market(asset_manager: AssetManager): story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 110271011) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[1] assert isinstance(entry, StoryEntryConversation) assert entry.speaker_name == "リナーシュ"
def test_audio_label_contained_in_text(asset_manager: AssetManager): story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 110011011) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[0] assert isinstance(entry, StoryEntryConversation) assert "VO_CHR" not in entry.conversation
def test_missing_speaker_icon_chara_set_3(asset_manager: AssetManager): story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 110379013) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[36] assert isinstance(entry, StoryEntryConversation) assert entry.speaker_image_path == "story/chara/120038_01.png"
def test_missing_speaker_icon_shimote_pos_d(asset_manager: AssetManager): story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 100018075) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[2] assert isinstance(entry, StoryEntryConversation) assert entry.speaker_image_path == "story/chara/110394_01.png"
def test_cht_story_speaker_init_with_conversation(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_data = asset_manager.loader_story.load_unit_story( Language.CHT, UnitType.CHARACTER, 100015081) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[0] assert isinstance(entry, StoryEntryConversation) assert entry.conversation == "那個人,比以前見過的任何人都要美麗且耀眼……"
def test_jp_story_speaker_icon_offset(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 100015081) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[8] assert isinstance(entry, StoryEntryConversation) assert entry.speaker_image_path is None
def test_jp_story_speaker_init_with_conversation(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 100015081) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[0] assert isinstance(entry, StoryEntryConversation) assert entry.conversation == "その人は、今まで見た誰よりも美しく輝いていて……。"
def test_jp_story_speaker_name_in_conversation(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 100015081) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[42] assert isinstance(entry, StoryEntryConversation) assert entry.conversation == "この前出した手紙の返事、ですわね。これが何か?"
def test_jp_story_speaker_same_row_pause(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 100015081) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[13] assert isinstance(entry, StoryEntryConversation) assert entry.conversation == "ふふっ、素直な子は好きでしてよ。ほら、ケットシー。謝罪を。"
def test_newline_replacement_in_en_story(asset_manager: AssetManager): story_data = asset_manager.loader_story.load_unit_story( Language.EN, UnitType.CHARACTER, 110335015) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[6] assert isinstance(entry, StoryEntryConversation) assert "unable to" in entry.conversation assert "unableto" not in entry.conversation
def test_story_conversation_player_name_replaced(asset_manager: AssetManager): story_data = asset_manager.loader_story.load_unit_story( Language.EN, UnitType.CHARACTER, 100010041) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[28] assert isinstance(entry, StoryEntryConversation) assert "Euden" in entry.conversation assert "{player_name}" not in entry.conversation
def test_stories_have_same_lines_across_locale(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_cht = parse_story_commands_to_entries( asset_manager.loader_story.load_unit_story(Language.CHT, UnitType.CHARACTER, 100015081), text_asset=asset_manager.asset_text_website) story_en = parse_story_commands_to_entries( asset_manager.loader_story.load_unit_story(Language.EN, UnitType.CHARACTER, 100015081), text_asset=asset_manager.asset_text_website) story_jp = parse_story_commands_to_entries( asset_manager.loader_story.load_unit_story(Language.JP, UnitType.CHARACTER, 100015081), text_asset=asset_manager.asset_text_website) assert len(story_cht) == len(story_jp) == len(story_en)
def test_cht_story_speaker_same_row_pause(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_data = asset_manager.loader_story.load_unit_story( Language.CHT, UnitType.CHARACTER, 100015081) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[13] assert isinstance(entry, StoryEntryConversation) assert entry.conversation == "呵呵,我很喜歡坦率的孩子喲。好了,凱特西。還不賠罪。"
def test_missing_speaker_icon_kamite_se(asset_manager: AssetManager): # OG!Chelle Unit Story Ep. 3 story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 100015043) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[0] assert isinstance(entry, StoryEntryConversation) assert entry.speaker_image_path == "story/chara/120040_01.png"
def test_story_audio_excludes_bgm(asset_manager: AssetManager): # Summer Chelle Unit Story Ep. 1 story_data = asset_manager.loader_story.load_unit_story( Language.JP, UnitType.CHARACTER, 100015081) story_entries = parse_story_commands_to_entries( story_data, asset_manager.asset_text_website) entry = story_entries[49] assert isinstance(entry, StoryEntryConversation) assert entry.audio_paths == [ "vo_chr_120062_story/VO_CHR_120062_STORY_0004.wav" ]