package tui import "testing" func TestDownloadProgressFraction(t *testing.T) { t.Parallel() tests := []struct { name string written, total int64 want float64 }{ {name: "empty", want: 0}, {name: "negative written", written: -1, total: 100, want: 0}, {name: "half", written: 50, total: 100, want: 0.5}, {name: "complete", written: 100, total: 100, want: 1}, {name: "clamps overflow", written: 150, total: 100, want: 1}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { t.Parallel() if got := downloadProgressFraction(tt.written, tt.total); got != tt.want { t.Fatalf("downloadProgressFraction(%d, %d) = %v, want %v", tt.written, tt.total, got, tt.want) } }) } }