dai-motoki / zoltraak

GNU General Public License v3.0
240 stars 31 forks source link

検索モード切り替えの問題 #120

Open dai-motoki opened 2 months ago

dai-motoki commented 2 months ago

検索モードの切り替え不具合

概要

検索モードの切り替えがうまくいかない問題が発生しています。モード切り替えのトリガーを行っても、期待通りの反応が得られません。

再現手順

  1. zoltraak "〜したい" と入力する
  2. zoltraak "~したい" -c aaa と入力する
  3. zoltraak "~したい" -c と入力する

期待される動作

上記の入力パターンで検索モードが開くこと。

実際の動作

検索モードが開かない、もしくは期待通りの動作をしない。

タスク

from search import toggle_search_mode

def test_toggle_search_mode():
    # パターン1: zoltraak "〜したい"
    input1 = 'zoltraak "〜したい"'
    assert toggle_search_mode(input1) == True

    # パターン2: zoltraak "~したい" -c aaa
    input2 = 'zoltraak "~したい" -c aaa'
    assert toggle_search_mode(input2) == True

    # パターン3: zoltraak "~したい" -c
    input3 = 'zoltraak "~したい" -c'
    assert toggle_search_mode(input3) == True

上記のようなテストファイル test_search.py を新規作成し、toggle_search_mode 関数の振る舞いをテストします。 テストが失敗した場合は、search.py 内の実装を修正し、すべてのテストが通るようにしてください。

import re

def toggle_search_mode(input: str) -> bool:
    # 検索モード切り替えのロジックを実装
    # パターン1〜3に対応するように正規表現を使って条件分岐を行う
    pattern1 = r'^zoltraak\s+"〜したい"$'
    pattern2 = r'^zoltraak\s+"~したい"\s+-c\s+\w+$'
    pattern3 = r'^zoltraak\s+"~したい"\s+-c$'

    if re.match(pattern1, input) or re.match(pattern2, input) or re.match(pattern3, input):
        return True
    else:
        return False

テストとそれに対応する実装を行うことで、検索モードの切り替えが正しく動作するようにしましょう。 修正後は、再度テストを実行し、すべてのテストがパスすることを確認してください。

正規表現を使って入力パターンにマッチするかどうかを判定し、検索モードの切り替えを行います。 必要に応じて正規表現のパターンを調整し、意図した動作になるようにしてください。

dai-motoki commented 2 months ago

@ThePioneerJP お疲れ様です!上記ご確認お願いします!issue内容はopusの半自動生成です!