You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: inversegamma_test.go
    path of file: ./repos/gonum/stat/distuv
    
    the code of the file until where you have to start completion: // Copyright Â©2018 The Gonum Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package distuv

import (
	"math"
	"sort"
	"testing"

	"golang.org/x/exp/rand"

	"gonum.org/v1/gonum/floats/scalar"
)

func TestInverseGamma(t *testing.T) {
	t.Parallel()
	// Values extracted from a comparison with scipy
	for _, test := range []struct {
		x, alpha, want float64
	}{
		{0.9, 4.5, 0.050521067785046482},
		{0.04, 45, 0.105506448
    
func TestInverseGammaLowAlpha(t *testing.T) {
	t.Parallel()
	f := InverseGamma{Alpha: 1, Beta: 1}
	mean := f.Mean()
	if !math.IsInf(mean, 1) {
		t.Errorf("Expected +Inf mean for alpha <= 1, got %v", mean)
	}
	f = InverseGamma{Alpha: 2, Beta: 1}
	stdDev := f.StdDev()
	if !math.IsInf(stdDev, 1) {
		t.Errorf("Expected +Inf standard deviation for alpha <= 2, got %v", stdDev)
	}
	variance := f.Variance()
	if !math.IsInf(variance, 1) {
		t.Errorf("Expected +Inf variance for alpha <= 2, got %v", variance)
	}
	f = InverseGamma{Alpha: 4, Beta: 1}
	exKurt := f.ExKurtosis()
	if !math.IsInf(exKurt, 1) {
		t.Errorf("Expected +Inf excess kurtosis for alpha <= 4, got %v", exKurt)
	}
}