github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/libpod/network/network_test.go (about) 1 package network 2 3 import ( 4 "net" 5 "testing" 6 ) 7 8 func parseCIDR(n string) *net.IPNet { 9 _, parsedNet, _ := net.ParseCIDR(n) 10 return parsedNet 11 } 12 13 func Test_networkIntersect(t *testing.T) { 14 type args struct { 15 n1 *net.IPNet 16 n2 *net.IPNet 17 } 18 tests := []struct { 19 name string 20 args args 21 want bool 22 }{ 23 {"16 and 24 intersects", args{n1: parseCIDR("192.168.0.0/16"), n2: parseCIDR("192.168.1.0/24")}, true}, 24 {"24 and 25 intersects", args{n1: parseCIDR("192.168.1.0/24"), n2: parseCIDR("192.168.1.0/25")}, true}, 25 {"Two 24s", args{n1: parseCIDR("192.168.1.0/24"), n2: parseCIDR("192.168.2.0/24")}, false}, 26 } 27 for _, tt := range tests { 28 test := tt 29 t.Run(tt.name, func(t *testing.T) { 30 if got := networkIntersect(test.args.n1, test.args.n2); got != test.want { 31 t.Errorf("networkIntersect() = %v, want %v", got, test.want) 32 } 33 }) 34 } 35 }