using AcDream.App.UI; namespace AcDream.App.Tests.UI; public class UiChatViewTests { [Fact] public void ClampScroll_PinsToZero_WhenContentFitsView() { // 5 lines of content in a taller view → nothing to scroll, pinned at 0. Assert.Equal(0f, UiChatView.ClampScroll(50f, contentHeight: 80f, viewHeight: 200f)); Assert.Equal(0f, UiChatView.ClampScroll(0f, contentHeight: 80f, viewHeight: 200f)); } [Fact] public void ClampScroll_CapsAtContentMinusView_WhenOverflowing() { // Content 500, view 200 → max scrollback is 300px (oldest line at top). Assert.Equal(300f, UiChatView.ClampScroll(1000f, contentHeight: 500f, viewHeight: 200f)); Assert.Equal(120f, UiChatView.ClampScroll(120f, contentHeight: 500f, viewHeight: 200f)); } [Fact] public void ClampScroll_NeverNegative() { Assert.Equal(0f, UiChatView.ClampScroll(-50f, contentHeight: 500f, viewHeight: 200f)); } }