utils: Add test for IPDesc.Equal

This commit is contained in:
Alex Willmer 2020-04-02 22:31:53 +01:00
parent f6f5c05dd1
commit 599756feb8
1 changed files with 64 additions and 0 deletions

64
utils/ip_test.go Normal file
View File

@ -0,0 +1,64 @@
// (c) 2020, Alex Willmer. All rights reserved.
// See the file LICENSE for licensing terms.
package utils
import (
"fmt"
"net"
"testing"
)
func TestIPDescEqual(t *testing.T) {
tests := []struct {
ipDesc1 IPDesc
ipDesc2 IPDesc
result bool
}{
// Expected equal
{
IPDesc{net.ParseIP("127.0.0.1"), 0},
IPDesc{net.ParseIP("127.0.0.1"), 0},
true,
}, {
IPDesc{net.ParseIP("::1"), 0},
IPDesc{net.ParseIP("::1"), 0},
true,
}, {
IPDesc{net.ParseIP("127.0.0.1"), 0},
IPDesc{net.ParseIP("::ffff:127.0.0.1"), 0},
true,
},
// Expected unequal
{
IPDesc{net.ParseIP("127.0.0.1"), 0},
IPDesc{net.ParseIP("1.2.3.4"), 0},
false,
}, {
IPDesc{net.ParseIP("::1"), 0},
IPDesc{net.ParseIP("2001::1"), 0},
false,
}, {
IPDesc{net.ParseIP("127.0.0.1"), 0},
IPDesc{net.ParseIP("127.0.0.1"), 1},
false,
},
}
for i, tt := range tests {
t.Run(fmt.Sprintf("%d", i), func(t *testing.T) {
if tt.ipDesc1.IP == nil {
t.Error("ipDesc1 nil")
} else if tt.ipDesc2.IP == nil {
t.Error("ipDesc2 nil")
}
result := tt.ipDesc1.Equal(tt.ipDesc2)
if result && result != tt.result {
t.Error("Expected IPDesc to be equal, but they were not")
}
if !result && result != tt.result {
t.Error("Expected IPDesc to be unequal, but they were equal")
}
})
}
}