package pgx import ( "testing" ) func compareConnSlices(slice1, slice2 []*Conn) bool { if len(slice1) != len(slice2) { return false } for i, c := range slice1 { if c != slice2[i] { return false } } return true } func TestConnPoolRemoveFromAllConnections(t *testing.T) { t.Parallel() pool := ConnPool{} conn1 := &Conn{} conn2 := &Conn{} conn3 := &Conn{} // First element pool.allConnections = []*Conn{conn1, conn2, conn3} pool.removeFromAllConnections(conn1) if !compareConnSlices(pool.allConnections, []*Conn{conn2, conn3}) { t.Fatal("First element test failed") } // Element somewhere in the middle pool.allConnections = []*Conn{conn1, conn2, conn3} pool.removeFromAllConnections(conn2) if !compareConnSlices(pool.allConnections, []*Conn{conn1, conn3}) { t.Fatal("Middle element test failed") } // Last element pool.allConnections = []*Conn{conn1, conn2, conn3} pool.removeFromAllConnections(conn3) if !compareConnSlices(pool.allConnections, []*Conn{conn1, conn2}) { t.Fatal("Last element test failed") } }