Files
webrtc/icecandidatetype_test.go
2023-05-05 11:58:49 -04:00

58 lines
1.3 KiB
Go

// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
// SPDX-License-Identifier: MIT
package webrtc
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestICECandidateType(t *testing.T) {
testCases := []struct {
typeString string
shouldFail bool
expectedType ICECandidateType
}{
{unknownStr, true, ICECandidateType(Unknown)},
{"host", false, ICECandidateTypeHost},
{"srflx", false, ICECandidateTypeSrflx},
{"prflx", false, ICECandidateTypePrflx},
{"relay", false, ICECandidateTypeRelay},
}
for i, testCase := range testCases {
actual, err := NewICECandidateType(testCase.typeString)
if (err != nil) != testCase.shouldFail {
t.Error(err)
}
assert.Equal(t,
testCase.expectedType,
actual,
"testCase: %d %v", i, testCase,
)
}
}
func TestICECandidateType_String(t *testing.T) {
testCases := []struct {
cType ICECandidateType
expectedString string
}{
{ICECandidateType(Unknown), unknownStr},
{ICECandidateTypeHost, "host"},
{ICECandidateTypeSrflx, "srflx"},
{ICECandidateTypePrflx, "prflx"},
{ICECandidateTypeRelay, "relay"},
}
for i, testCase := range testCases {
assert.Equal(t,
testCase.expectedString,
testCase.cType.String(),
"testCase: %d %v", i, testCase,
)
}
}