Example #1
0
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"
Example #2
0
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 == "リナーシュ"
Example #3
0
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
Example #4
0
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"
Example #5
0
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"
Example #6
0
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 == "那個人,比以前見過的任何人都要美麗且耀眼……"
Example #7
0
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
Example #8
0
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 == "その人は、今まで見た誰よりも美しく輝いていて……。"
Example #9
0
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 == "この前出した手紙の返事、ですわね。これが何か?"
Example #10
0
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 == "ふふっ、素直な子は好きでしてよ。ほら、ケットシー。謝罪を。"
Example #11
0
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
Example #12
0
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
Example #13
0
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)
Example #14
0
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 == "呵呵,我很喜歡坦率的孩子喲。好了,凱特西。還不賠罪。"
Example #15
0
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"
Example #16
0
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"
    ]