Move cached ref test to get_ref_test (EnsureRefTest)

This commit is contained in:
Rafael Weinstein
2015-07-13 10:40:31 -07:00
parent 8297baea11
commit 8f0a124d95
2 changed files with 55 additions and 63 deletions

View File

@@ -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)))
}
}
}

View File

@@ -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)))
}
}
}