test: Wave 4 — 补充 fling 速度阈值交互测试

- test: onDragEnd 高速上滑强制折叠(无视 progress 阈值)
- test: onDragEnd 高速下滑强制展开(无视 progress 阈值)
- test: onExpandDragEnd 高速下滑强制展开
- test: onExpandDragEnd 高速上滑保持折叠

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
xfy 2026-05-21 18:18:34 +08:00
parent 6f4d62b78f
commit fb7e19ddc9

View File

@ -327,6 +327,44 @@ class CalendarViewModelStateTest {
assertEquals(1f, vm.collapseProgress.value, 0.001f)
}
@Test
fun onDragEnd_fastFlingUp_setsCollapsed() {
val vm = createViewModel()
vm.onDrag(0.1f)
vm.onDragEnd(velocityDpPerSec = 900f)
assertTrue(vm.isCollapsed.value)
assertEquals(1f, vm.collapseProgress.value, 0.001f)
}
@Test
fun onDragEnd_fastFlingDown_keepsExpanded() {
val vm = createViewModel()
vm.onDrag(0.9f)
vm.onDragEnd(velocityDpPerSec = -900f)
assertFalse(vm.isCollapsed.value)
assertEquals(0f, vm.collapseProgress.value, 0.001f)
}
@Test
fun onExpandDragEnd_fastFlingDown_setsExpanded() {
val vm = createViewModel()
vm.onDrag(1f)
vm.onExpandDrag(-0.1f)
vm.onExpandDragEnd(velocityDpPerSec = -900f)
assertFalse(vm.isCollapsed.value)
assertEquals(0f, vm.collapseProgress.value, 0.001f)
}
@Test
fun onExpandDragEnd_fastFlingUp_staysCollapsed() {
val vm = createViewModel()
vm.onDrag(1f)
vm.onExpandDrag(-0.9f)
vm.onExpandDragEnd(velocityDpPerSec = 900f)
assertTrue(vm.isCollapsed.value)
assertEquals(1f, vm.collapseProgress.value, 0.001f)
}
// ---- getMonthDays 与 selectedDate 配合 ----
@Test