github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/pkg/network/subnet_test.go (about)

     1  package network
     2  
     3  import (
     4  	"net"
     5  	"reflect"
     6  	"testing"
     7  )
     8  
     9  func TestNextSubnet(t *testing.T) {
    10  	type args struct {
    11  		subnet *net.IPNet
    12  	}
    13  	tests := []struct {
    14  		name    string
    15  		args    args
    16  		want    *net.IPNet
    17  		wantErr bool
    18  	}{
    19  		{"class b", args{subnet: parseCIDR("192.168.0.0/16")}, parseCIDR("192.169.0.0/16"), false},
    20  		{"class c", args{subnet: parseCIDR("192.168.1.0/24")}, parseCIDR("192.168.2.0/24"), false},
    21  	}
    22  	for _, tt := range tests {
    23  		test := tt
    24  		t.Run(test.name, func(t *testing.T) {
    25  			got, err := NextSubnet(test.args.subnet)
    26  			if (err != nil) != test.wantErr {
    27  				t.Errorf("NextSubnet() error = %v, wantErr %v", err, test.wantErr)
    28  				return
    29  			}
    30  			if !reflect.DeepEqual(got, test.want) {
    31  				t.Errorf("NextSubnet() got = %v, want %v", got, test.want)
    32  			}
    33  		})
    34  	}
    35  }