package main import "testing" func Test_stringToBps(t *testing.T) { tests := []struct { name string s string want uint64 }{ {name: "bps 1", s: "8 bps", want: 1}, {name: "bps 2", s: "3 bps", want: 0}, {name: "Bps", s: "9991Bps", want: 9991}, {name: "KBps", s: "10 KBps", want: 10240}, {name: "Kbps", s: "10 Kbps", want: 1280}, {name: "MBps", s: "10 MBps", want: 10485760}, {name: "Mbps", s: "10 Mbps", want: 1310720}, {name: "GBps", s: "10 GBps", want: 10737418240}, {name: "Gbps", s: "10 Gbps", want: 1342177280}, {name: "TBps", s: "10 TBps", want: 10995116277760}, {name: "Tbps", s: "10 Tbps", want: 1374389534720}, {name: "invalid 1", s: "6699E Kbps", want: 0}, {name: "invalid 2", s: "400 Bsp", want: 0}, {name: "invalid 3", s: "9 GBbps", want: 0}, {name: "invalid 4", s: "Mbps", want: 0}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := stringToBps(tt.s); got != tt.want { t.Errorf("stringToBps() = %v, want %v", got, tt.want) } }) } }