• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2021 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package itoa_test
6
7import (
8	"fmt"
9	"internal/itoa"
10	"math"
11	"testing"
12)
13
14var (
15	minInt64  int64  = math.MinInt64
16	maxInt64  int64  = math.MaxInt64
17	maxUint64 uint64 = math.MaxUint64
18)
19
20func TestItoa(t *testing.T) {
21	tests := []int{int(minInt64), math.MinInt32, -999, -100, -1, 0, 1, 100, 999, math.MaxInt32, int(maxInt64)}
22	for _, tt := range tests {
23		got := itoa.Itoa(tt)
24		want := fmt.Sprint(tt)
25		if want != got {
26			t.Fatalf("Itoa(%d) = %s, want %s", tt, got, want)
27		}
28	}
29}
30
31func TestUitoa(t *testing.T) {
32	tests := []uint{0, 1, 100, 999, math.MaxUint32, uint(maxUint64)}
33	for _, tt := range tests {
34		got := itoa.Uitoa(tt)
35		want := fmt.Sprint(tt)
36		if want != got {
37			t.Fatalf("Uitoa(%d) = %s, want %s", tt, got, want)
38		}
39	}
40}
41
42func TestUitox(t *testing.T) {
43	tests := []uint{0, 1, 15, 100, 999, math.MaxUint32, uint(maxUint64)}
44	for _, tt := range tests {
45		got := itoa.Uitox(tt)
46		want := fmt.Sprintf("%#x", tt)
47		if want != got {
48			t.Fatalf("Uitox(%x) = %s, want %s", tt, got, want)
49		}
50	}
51}
52