난이도표 로딩 통합과 팩 키 모드 우선순위 정리
This commit is contained in:
+24
-3
@@ -20,6 +20,25 @@ dotnet test ProjectQuint.Tests/ProjectQuint.Tests.csproj -c Release -p:RestoreLo
|
||||
유니티 편집 모드와 .NET은 `Assets/ProjectQuint/Tests/Core`의 같은 테스트 파일을 사용합니다.
|
||||
홈 화면 이동·프로필 선택·업데이트 상태 테스트 역시 유니티와 독립 실행에서 공유합니다.
|
||||
|
||||
## 라이브러리 설정과 채보 준비
|
||||
|
||||
키 모드는 명시적인 팩 설정, 난이도표 기본값, 채보 감지값 순서로 결정합니다.
|
||||
`SongKeyModePolicy`가 이 우선순위를 소유하며 스캔, 곡 목록과 플레이용 채보 준비가
|
||||
같은 규칙을 사용합니다. `SongLibraryEntry.KeyMode`에서 선택된 키 수와 결정 근거,
|
||||
팩 설정과 난이도표 기본값의 충돌 여부를 확인할 수 있습니다.
|
||||
충돌이 있으면 팩 설정을 유지하며, 인덱스·새로고침·플레이 진단 로그에 표시합니다.
|
||||
|
||||
`DifficultyTableRequest`는 등록한 제공자 ID와 HTTPS 주소를 보존합니다.
|
||||
HTML 페이지의 헤더 링크는 그 페이지를 기준으로, 데이터 링크는 헤더 문서를 기준으로
|
||||
해석합니다. `DifficultyTableLibrarySource`는 로컬 난이도표·코스 로딩과 온라인 갱신을 담당합니다.
|
||||
|
||||
`LibraryConfigurationTests`는 주소·상대 경로 해석, 키 모드 충돌과 반복적인 난이도표 적용을
|
||||
검증합니다. `SongChartPreparationTests`는 합성 BMS 파일을 실제 게임의 파서·변환기로 읽어
|
||||
최종 플레이용 채보의 키 수와 레인 배치까지 확인합니다. 음악 파일은 필요하지 않습니다.
|
||||
두 테스트 묶음은 독립 테스트에서 실행하지만 실제 HTTP 요청이나 유니티 캐시 직렬화를
|
||||
실행하지는 않습니다. 최초 스캔·캐시 재사용·키 모드 변경 시 캐시 무효화는
|
||||
유니티 `SongLibraryScannerTests`의 검증 범위입니다.
|
||||
|
||||
## 합성 입력 탐색
|
||||
|
||||
```bash
|
||||
@@ -91,10 +110,12 @@ JIT 상태와 다른 프로세스의 부하에 따라 시간은 달라질 수
|
||||
음악을 재배포하지 않는 범위에서 실제 플레이로 로딩 취소·다시 시작·장치 변경·프로필 화면을 확인해야 합니다.
|
||||
자동화 서버에서의 연속 실행과 실제 플레이어 성능 측정은 별도 운영 범위입니다.
|
||||
|
||||
2026-09-06 검증에서는 독립 테스트 142개와 배포 도구 테스트 9개가 통과했습니다.
|
||||
2026-09-06 검증에서는 독립 테스트 166개와 배포 도구 테스트 9개가 통과했습니다.
|
||||
유니티 컴파일러를 이용한 어셈블리 11개의 컴파일도 확인했습니다.
|
||||
유니티 Test Runner는 유효한 에디터 라이선스가 없어 테스트 시작 전에 종료되었으므로,
|
||||
편집 모드 전체 테스트와 실제 플레이 검증은 완료된 것으로 기록하지 않습니다.
|
||||
유니티 Test Runner의 편집 모드 테스트는 891개 중 887개가 통과했고 실패는 없었습니다.
|
||||
외부 BMS 자료가 필요한 통합 테스트 4개는 자료가 없어 건너뛰었습니다.
|
||||
최초 스캔·캐시 재사용 시 명시적인 키 모드 보존과 키 모드 변경 시 캐시 무효화 테스트도
|
||||
통과했습니다. 실제 화면·입력·오디오를 함께 확인하는 플레이 검증은 별도로 수행해야 합니다.
|
||||
|
||||
앱의 업데이트와 프로필 상태는 독립 컨트롤러가 소유하지만,
|
||||
팩 관리·오디오 설정·화면 연결을 조정하는 코드는 아직 큰 앱 클래스에 남아 있습니다.
|
||||
|
||||
Reference in New Issue
Block a user