package monitor import ( "reflect" "testing" ) func TestPingArgs(t *testing.T) { tests := []struct { goos string want []string }{ {"linux", []string{"-I", "eth0", "-c1", "-W1", "8.8.8.8"}}, {"darwin", []string{"-b", "eth0", "-c1", "-W1000", "8.8.8.8"}}, } for _, tt := range tests { t.Run(tt.goos, func(t *testing.T) { got := pingArgs(tt.goos, "eth0", "8.8.8.8") if !reflect.DeepEqual(got, tt.want) { t.Errorf("pingArgs(%q) = %v, want %v", tt.goos, got, tt.want) } }) } } func TestLossArgs(t *testing.T) { tests := []struct { goos string want []string }{ {"linux", []string{ "-q", "-i", "0.05", "-c", "20", "-W1", "-I", "eth0", "8.8.8.8", }}, {"darwin", []string{ "-q", "-i", "0.05", "-c", "20", "-W1000", "-b", "eth0", "8.8.8.8", }}, } for _, tt := range tests { t.Run(tt.goos, func(t *testing.T) { got := lossArgs(tt.goos, "eth0", "8.8.8.8", 20) if !reflect.DeepEqual(got, tt.want) { t.Errorf("lossArgs(%q) = %v, want %v", tt.goos, got, tt.want) } }) } }