package iputil

import (
	"math/big"
	"net"
	"testing"
)

func TestToDecimal(t *testing.T) {
	var msb = new(big.Int)
	msb, _ = msb.SetString("80000000000000000000000000000000", 16)

	var tests = []struct {
		in  string
		out *big.Int
	}{
		{"127.0.0.1", big.NewInt(2130706433)},
		{"::1", big.NewInt(1)},
		{"8000::", msb},
	}
	for _, tt := range tests {
		i := ToDecimal(net.ParseIP(tt.in))
		if tt.out.Cmp(i) != 0 {
			t.Errorf("Expected %d, got %d for IP %s", tt.out, i, tt.in)
		}
	}
}