1package pgx 2 3import ( 4 "testing" 5) 6 7func compareConnSlices(slice1, slice2 []*Conn) bool { 8 if len(slice1) != len(slice2) { 9 return false 10 } 11 for i, c := range slice1 { 12 if c != slice2[i] { 13 return false 14 } 15 } 16 return true 17} 18 19func TestConnPoolRemoveFromAllConnections(t *testing.T) { 20 t.Parallel() 21 pool := ConnPool{} 22 conn1 := &Conn{} 23 conn2 := &Conn{} 24 conn3 := &Conn{} 25 26 // First element 27 pool.allConnections = []*Conn{conn1, conn2, conn3} 28 pool.removeFromAllConnections(conn1) 29 if !compareConnSlices(pool.allConnections, []*Conn{conn2, conn3}) { 30 t.Fatal("First element test failed") 31 } 32 // Element somewhere in the middle 33 pool.allConnections = []*Conn{conn1, conn2, conn3} 34 pool.removeFromAllConnections(conn2) 35 if !compareConnSlices(pool.allConnections, []*Conn{conn1, conn3}) { 36 t.Fatal("Middle element test failed") 37 } 38 // Last element 39 pool.allConnections = []*Conn{conn1, conn2, conn3} 40 pool.removeFromAllConnections(conn3) 41 if !compareConnSlices(pool.allConnections, []*Conn{conn1, conn2}) { 42 t.Fatal("Last element test failed") 43 } 44} 45