Files
webrtc/icecandidatetype_test.go
Woodrow Douglass 13450332a4 Remove the "Unknown" constant
This commit replaces the Unknown constant with
separate constants for each enumeration that
uses it.

Fixes #1293
2023-09-12 13:29:05 -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
}{
{ErrUnknownType.Error(), true, ICECandidateTypeUnknown},
{"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
}{
{ICECandidateTypeUnknown, ErrUnknownType.Error()},
{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,
)
}
}