(t *testing.T)
| 11 | } |
| 12 | |
| 13 | func TestFirstIPInSubnet(t *testing.T) { |
| 14 | tests := []struct { |
| 15 | name string |
| 16 | args *net.IPNet |
| 17 | want net.IP |
| 18 | wantErr bool |
| 19 | }{ |
| 20 | {"class b", parseCIDR("192.168.0.0/16"), net.ParseIP("192.168.0.1"), false}, |
| 21 | {"class c", parseCIDR("192.168.1.0/24"), net.ParseIP("192.168.1.1"), false}, |
| 22 | {"cidr /23", parseCIDR("192.168.0.0/23"), net.ParseIP("192.168.0.1"), false}, |
| 23 | {"cidr /25", parseCIDR("192.168.1.0/25"), net.ParseIP("192.168.1.1"), false}, |
| 24 | {"cidr /26", parseCIDR("172.16.1.128/26"), net.ParseIP("172.16.1.129"), false}, |
| 25 | {"class a", parseCIDR("10.0.0.0/8"), net.ParseIP("10.0.0.1"), false}, |
| 26 | {"cidr /32", parseCIDR("192.168.255.4/32"), net.ParseIP("192.168.255.4"), false}, |
| 27 | {"cidr /31", parseCIDR("192.168.255.4/31"), net.ParseIP("192.168.255.5"), false}, |
| 28 | } |
| 29 | for _, tt := range tests { |
| 30 | test := tt |
| 31 | t.Run(test.name, func(t *testing.T) { |
| 32 | got, err := FirstIPInSubnet(test.args) |
| 33 | if (err != nil) != test.wantErr { |
| 34 | t.Errorf("FirstIPInSubnet() error = %v, wantErr %v", err, test.wantErr) |
| 35 | return |
| 36 | } |
| 37 | if !got.Equal(test.want) { |
| 38 | t.Errorf("FirstIPInSubnet() got = %v, want %v", got, test.want) |
| 39 | } |
| 40 | }) |
| 41 | } |
| 42 | } |
| 43 | |
| 44 | func TestLastIPInSubnet(t *testing.T) { |
| 45 | tests := []struct { |
nothing calls this directly
no test coverage detected
searching dependent graphs…