Approval-Correlation: 0543bb321a84cb936bc0ac4988615840
Plan-SHA256: 437a85f68d151ed4db780511812834041cfec5e7cf021fb77e238d5a6196e6fb
Base-SHA: 256be64ac7
1.6 KiB
1.6 KiB
데이터 모델
대화 상태
ChatApp은 세션 동안 다음 목록을 메모리에 유지한다.
submitted_inputs:trim된 유효 사용자 메시지 목록selected_responses: 각 사용자 메시지에 대응하는 선택 응답 목록
두 목록은 같은 인덱스를 사용하며, 유효한 제출 하나마다 항목 하나씩 추가된다. 공백 입력은 어느 목록도 변경하지 않는다.
고정 응답 목록
src/chat_tui/app.py의 RESPONSE_MESSAGES 상수는 다음 다섯 문자열을 순서대로 보유한다.
안녕하세요! 무엇을 도와드릴까요?그것은 제가 처리하기 불가능합니다.맡겨만 주세요.지금 처리 중입니다.작업을 완료하였습니다.
응답은 random.choice(RESPONSE_MESSAGES)로 선택한다. 난수 선택 자체는 테스트에서 chat_tui.app.random.choice를 대체할 수 있는 경계로 취급한다.
대화 항목
유효한 입력이 제출되면 대화 영역에 다음 두 Label을 순서대로 추가한다.
user-message클래스의 사용자 메시지response-message클래스의 선택 응답
사용자 메시지는 입력값을 strip()한 결과이며, 선택 응답은 고정 응답 목록의 문자열이다.
불변 조건
- 공백 제거 결과가 빈 문자열이면 상태와 화면을 변경하지 않는다.
- 유효한 입력마다 사용자 메시지가 응답보다 먼저 추가된다.
submitted_inputs와selected_responses의 길이는 항상 같다.- 응답은 고정 목록에 포함된 값이어야 한다.
- 대화 기록은 애플리케이션 세션 안에서만 유지한다.