mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-30 10:45:18 -06:00
Move cached ref test to get_ref_test (EnsureRefTest)
This commit is contained in:
@@ -1,63 +0,0 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/attic-labs/noms/ref"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestCachedRef(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
count := byte(1)
|
||||
mockGetRef := func(v Value) ref.Ref {
|
||||
d := ref.Sha1Digest{}
|
||||
d[0] = count
|
||||
count++
|
||||
return ref.New(d)
|
||||
}
|
||||
testRef := func(r ref.Ref, expected byte) {
|
||||
d := r.Digest()
|
||||
assert.Equal(expected, d[0])
|
||||
for i := 1; i < len(d); i++ {
|
||||
assert.Equal(byte(0), d[i])
|
||||
}
|
||||
}
|
||||
|
||||
prevGetRef := getRef
|
||||
getRef = mockGetRef
|
||||
defer func() {
|
||||
getRef = prevGetRef
|
||||
}()
|
||||
|
||||
values := []Value{
|
||||
NewBlob([]byte{}),
|
||||
NewList(),
|
||||
NewString(""),
|
||||
NewMap(),
|
||||
NewSet(),
|
||||
}
|
||||
for i := 0; i < 2; i++ {
|
||||
for j, v := range values {
|
||||
testRef(v.Ref(), byte(j+1))
|
||||
}
|
||||
}
|
||||
|
||||
count = byte(1)
|
||||
values = []Value{
|
||||
Bool(false),
|
||||
Int16(0),
|
||||
Int32(0),
|
||||
Int64(0),
|
||||
UInt16(0),
|
||||
UInt32(0),
|
||||
UInt64(0),
|
||||
Float32(0),
|
||||
Float64(0),
|
||||
}
|
||||
for i := 0; i < 2; i++ {
|
||||
for j, v := range values {
|
||||
testRef(v.Ref(), byte(i*len(values)+(j+1)))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,3 +16,58 @@ func TestGetRef(t *testing.T) {
|
||||
actual := getRef(Bool(false))
|
||||
assert.Equal(expected, actual)
|
||||
}
|
||||
|
||||
func TestEnsureRef(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
count := byte(1)
|
||||
mockGetRef := func(v Value) ref.Ref {
|
||||
d := ref.Sha1Digest{}
|
||||
d[0] = count
|
||||
count++
|
||||
return ref.New(d)
|
||||
}
|
||||
testRef := func(r ref.Ref, expected byte) {
|
||||
d := r.Digest()
|
||||
assert.Equal(expected, d[0])
|
||||
for i := 1; i < len(d); i++ {
|
||||
assert.Equal(byte(0), d[i])
|
||||
}
|
||||
}
|
||||
|
||||
prevGetRef := getRef
|
||||
getRef = mockGetRef
|
||||
defer func() {
|
||||
getRef = prevGetRef
|
||||
}()
|
||||
|
||||
values := []Value{
|
||||
NewBlob([]byte{}),
|
||||
NewList(),
|
||||
NewString(""),
|
||||
NewMap(),
|
||||
NewSet(),
|
||||
}
|
||||
for i := 0; i < 2; i++ {
|
||||
for j, v := range values {
|
||||
testRef(v.Ref(), byte(j+1))
|
||||
}
|
||||
}
|
||||
|
||||
count = byte(1)
|
||||
values = []Value{
|
||||
Bool(false),
|
||||
Int16(0),
|
||||
Int32(0),
|
||||
Int64(0),
|
||||
UInt16(0),
|
||||
UInt32(0),
|
||||
UInt64(0),
|
||||
Float32(0),
|
||||
Float64(0),
|
||||
}
|
||||
for i := 0; i < 2; i++ {
|
||||
for j, v := range values {
|
||||
testRef(v.Ref(), byte(i*len(values)+(j+1)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user