Files
webrtc/networktype_test.go
Sean DuBois 2838b1a836 Move ICE code out of internal
Users are unable to use the callbacks inside `internal/ice`.
Even though we alias things like OnSelectedCandidatePairChange
are unusable since in the package they use `ice.Candidate` instead of
`ICECandidate`
2019-06-15 01:29:08 -07:00

55 lines
1.1 KiB
Go

package webrtc
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNetworkType_String(t *testing.T) {
testCases := []struct {
cType NetworkType
expectedString string
}{
{NetworkType(Unknown), unknownStr},
{NetworkTypeUDP4, "udp4"},
{NetworkTypeUDP6, "udp6"},
{NetworkTypeTCP4, "tcp4"},
{NetworkTypeTCP6, "tcp6"},
}
for i, testCase := range testCases {
assert.Equal(t,
testCase.expectedString,
testCase.cType.String(),
"testCase: %d %v", i, testCase,
)
}
}
func TestNetworkType(t *testing.T) {
testCases := []struct {
typeString string
shouldFail bool
expectedType NetworkType
}{
{unknownStr, true, NetworkType(Unknown)},
{"udp4", false, NetworkTypeUDP4},
{"udp6", false, NetworkTypeUDP6},
{"tcp4", false, NetworkTypeTCP4},
{"tcp6", false, NetworkTypeTCP6},
}
for i, testCase := range testCases {
actual, err := newNetworkType(testCase.typeString)
if (err != nil) != testCase.shouldFail {
t.Error(err)
}
assert.Equal(t,
testCase.expectedType,
actual,
"testCase: %d %v", i, testCase,
)
}
}