github.com/pion/webrtc/v3@v3.2.24/icecandidatetype_test.go (about) 1 // SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly> 2 // SPDX-License-Identifier: MIT 3 4 package webrtc 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestICECandidateType(t *testing.T) { 13 testCases := []struct { 14 typeString string 15 shouldFail bool 16 expectedType ICECandidateType 17 }{ 18 {unknownStr, true, ICECandidateType(Unknown)}, 19 {"host", false, ICECandidateTypeHost}, 20 {"srflx", false, ICECandidateTypeSrflx}, 21 {"prflx", false, ICECandidateTypePrflx}, 22 {"relay", false, ICECandidateTypeRelay}, 23 } 24 25 for i, testCase := range testCases { 26 actual, err := NewICECandidateType(testCase.typeString) 27 if (err != nil) != testCase.shouldFail { 28 t.Error(err) 29 } 30 assert.Equal(t, 31 testCase.expectedType, 32 actual, 33 "testCase: %d %v", i, testCase, 34 ) 35 } 36 } 37 38 func TestICECandidateType_String(t *testing.T) { 39 testCases := []struct { 40 cType ICECandidateType 41 expectedString string 42 }{ 43 {ICECandidateType(Unknown), unknownStr}, 44 {ICECandidateTypeHost, "host"}, 45 {ICECandidateTypeSrflx, "srflx"}, 46 {ICECandidateTypePrflx, "prflx"}, 47 {ICECandidateTypeRelay, "relay"}, 48 } 49 50 for i, testCase := range testCases { 51 assert.Equal(t, 52 testCase.expectedString, 53 testCase.cType.String(), 54 "testCase: %d %v", i, testCase, 55 ) 56 } 57 }