github.com/feiyang21687/docker@v1.5.0/nat/sort_test.go (about)

     1  package nat
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  )
     7  
     8  func TestSortUniquePorts(t *testing.T) {
     9  	ports := []Port{
    10  		Port("6379/tcp"),
    11  		Port("22/tcp"),
    12  	}
    13  
    14  	Sort(ports, func(ip, jp Port) bool {
    15  		return ip.Int() < jp.Int() || (ip.Int() == jp.Int() && ip.Proto() == "tcp")
    16  	})
    17  
    18  	first := ports[0]
    19  	if fmt.Sprint(first) != "22/tcp" {
    20  		t.Log(fmt.Sprint(first))
    21  		t.Fail()
    22  	}
    23  }
    24  
    25  func TestSortSamePortWithDifferentProto(t *testing.T) {
    26  	ports := []Port{
    27  		Port("8888/tcp"),
    28  		Port("8888/udp"),
    29  		Port("6379/tcp"),
    30  		Port("6379/udp"),
    31  	}
    32  
    33  	Sort(ports, func(ip, jp Port) bool {
    34  		return ip.Int() < jp.Int() || (ip.Int() == jp.Int() && ip.Proto() == "tcp")
    35  	})
    36  
    37  	first := ports[0]
    38  	if fmt.Sprint(first) != "6379/tcp" {
    39  		t.Fail()
    40  	}
    41  }