mirror of
https://github.com/miniflux/v2.git
synced 2025-08-01 17:38:37 +00:00
First commit
This commit is contained in:
commit
8ffb773f43
2121 changed files with 1118910 additions and 0 deletions
95
vendor/github.com/tdewolff/parse/strconv/int_test.go
generated
vendored
Normal file
95
vendor/github.com/tdewolff/parse/strconv/int_test.go
generated
vendored
Normal file
|
@ -0,0 +1,95 @@
|
|||
package strconv // import "github.com/tdewolff/parse/strconv"
|
||||
|
||||
import (
|
||||
"math"
|
||||
"math/rand"
|
||||
"testing"
|
||||
|
||||
"github.com/tdewolff/test"
|
||||
)
|
||||
|
||||
func TestParseInt(t *testing.T) {
|
||||
intTests := []struct {
|
||||
i string
|
||||
expected int64
|
||||
}{
|
||||
{"5", 5},
|
||||
{"99", 99},
|
||||
{"999", 999},
|
||||
{"-5", -5},
|
||||
{"+5", 5},
|
||||
{"9223372036854775807", 9223372036854775807},
|
||||
{"9223372036854775808", 0},
|
||||
{"-9223372036854775807", -9223372036854775807},
|
||||
{"-9223372036854775808", -9223372036854775808},
|
||||
{"-9223372036854775809", 0},
|
||||
{"18446744073709551620", 0},
|
||||
{"a", 0},
|
||||
}
|
||||
for _, tt := range intTests {
|
||||
i, _ := ParseInt([]byte(tt.i))
|
||||
test.That(t, i == tt.expected, "return", tt.expected, "for", tt.i)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLenInt(t *testing.T) {
|
||||
lenIntTests := []struct {
|
||||
number int64
|
||||
expected int
|
||||
}{
|
||||
{0, 1},
|
||||
{1, 1},
|
||||
{10, 2},
|
||||
{99, 2},
|
||||
|
||||
// coverage
|
||||
{100, 3},
|
||||
{1000, 4},
|
||||
{10000, 5},
|
||||
{100000, 6},
|
||||
{1000000, 7},
|
||||
{10000000, 8},
|
||||
{100000000, 9},
|
||||
{1000000000, 10},
|
||||
{10000000000, 11},
|
||||
{100000000000, 12},
|
||||
{1000000000000, 13},
|
||||
{10000000000000, 14},
|
||||
{100000000000000, 15},
|
||||
{1000000000000000, 16},
|
||||
{10000000000000000, 17},
|
||||
{100000000000000000, 18},
|
||||
{1000000000000000000, 19},
|
||||
}
|
||||
for _, tt := range lenIntTests {
|
||||
test.That(t, LenInt(tt.number) == tt.expected, "return", tt.expected, "for", tt.number)
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
var num []int64
|
||||
|
||||
func TestMain(t *testing.T) {
|
||||
for j := 0; j < 1000; j++ {
|
||||
num = append(num, rand.Int63n(1000))
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkLenIntLog(b *testing.B) {
|
||||
n := 0
|
||||
for i := 0; i < b.N; i++ {
|
||||
for j := 0; j < 1000; j++ {
|
||||
n += int(math.Log10(math.Abs(float64(num[j])))) + 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkLenIntSwitch(b *testing.B) {
|
||||
n := 0
|
||||
for i := 0; i < b.N; i++ {
|
||||
for j := 0; j < 1000; j++ {
|
||||
n += LenInt(num[j])
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue