package connection import "testing" func TestConnectionType(t *testing.T) { c := NewType("wifi") if c != connectionWifi { t.Fatalf("Wrong connection type: %v", c) } c = NewType("cellular") if c != connectionCellular { t.Fatalf("Wrong connection type: %v", c) } c = NewType("bluetooth") if c != connectionUnknown { t.Fatalf("Wrong connection type: %v", c) } } func TestState(t *testing.T) { tests := []struct { name string state State expected string }{ { "zero value", State{}, "unknown", }, { "offline", State{Offline: true}, "offline", }, { "wifi", State{Type: connectionWifi}, "wifi", }, { "wifi tethered", State{Type: connectionWifi, Expensive: true}, "wifi (expensive)", }, { "unknown", State{Type: connectionUnknown}, "unknown", }, { "cellular", State{Type: connectionCellular}, "cellular", }, } for _, test := range tests { str := test.state.String() if str != test.expected { t.Fatalf("Expected String() to return '%s', got '%s'", test.expected, str) } } }