mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-26 10:37:04 -06:00
126 lines
3.2 KiB
Go
126 lines
3.2 KiB
Go
package test
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/attic-labs/noms/Godeps/_workspace/src/github.com/stretchr/testify/assert"
|
|
"github.com/attic-labs/noms/types"
|
|
)
|
|
|
|
func TestAccessors(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
def := StructPrimitivesDef{
|
|
Uint64: uint64(1),
|
|
Uint32: uint32(2),
|
|
Uint16: uint16(3),
|
|
Uint8: uint8(4),
|
|
Int64: int64(5),
|
|
Int32: int32(6),
|
|
Int16: int16(7),
|
|
Int8: int8(8),
|
|
Float64: float64(9),
|
|
Float32: float32(10),
|
|
Bool: bool(false),
|
|
String: string("hi"),
|
|
Blob: types.NewEmptyBlob(),
|
|
Value: types.Bool(false),
|
|
}
|
|
|
|
st := def.New()
|
|
|
|
assert.Equal(uint64(1), st.Uint64())
|
|
st.SetUint64(uint64(11))
|
|
assert.Equal(uint64(1), st.Uint64())
|
|
st = st.SetUint64(uint64(11))
|
|
assert.Equal(uint64(11), st.Uint64())
|
|
|
|
assert.Equal(uint32(2), st.Uint32())
|
|
st.SetUint32(uint32(22))
|
|
assert.Equal(uint32(2), st.Uint32())
|
|
st = st.SetUint32(uint32(22))
|
|
assert.Equal(uint32(22), st.Uint32())
|
|
|
|
assert.Equal(uint16(3), st.Uint16())
|
|
st.SetUint16(uint16(33))
|
|
assert.Equal(uint16(3), st.Uint16())
|
|
st = st.SetUint16(uint16(33))
|
|
assert.Equal(uint16(33), st.Uint16())
|
|
|
|
assert.Equal(uint8(4), st.Uint8())
|
|
st.SetUint8(uint8(44))
|
|
assert.Equal(uint8(4), st.Uint8())
|
|
st = st.SetUint8(uint8(44))
|
|
assert.Equal(uint8(44), st.Uint8())
|
|
|
|
assert.Equal(int64(5), st.Int64())
|
|
st.SetInt64(int64(55))
|
|
assert.Equal(int64(5), st.Int64())
|
|
st = st.SetInt64(int64(55))
|
|
assert.Equal(int64(55), st.Int64())
|
|
|
|
assert.Equal(int32(6), st.Int32())
|
|
st.SetInt32(int32(66))
|
|
assert.Equal(int32(6), st.Int32())
|
|
st = st.SetInt32(int32(66))
|
|
assert.Equal(int32(66), st.Int32())
|
|
|
|
assert.Equal(int16(7), st.Int16())
|
|
st.SetInt16(int16(77))
|
|
assert.Equal(int16(7), st.Int16())
|
|
st = st.SetInt16(int16(77))
|
|
assert.Equal(int16(77), st.Int16())
|
|
|
|
assert.Equal(int8(8), st.Int8())
|
|
st.SetInt8(int8(88))
|
|
assert.Equal(int8(8), st.Int8())
|
|
st = st.SetInt8(int8(88))
|
|
assert.Equal(int8(88), st.Int8())
|
|
|
|
assert.Equal(float64(9), st.Float64())
|
|
st.SetFloat64(float64(99))
|
|
assert.Equal(float64(9), st.Float64())
|
|
st = st.SetFloat64(float64(99))
|
|
assert.Equal(float64(99), st.Float64())
|
|
|
|
assert.Equal(float32(10), st.Float32())
|
|
st.SetFloat32(float32(1010))
|
|
assert.Equal(float32(10), st.Float32())
|
|
st = st.SetFloat32(float32(1010))
|
|
assert.Equal(float32(1010), st.Float32())
|
|
|
|
assert.Equal(false, st.Bool())
|
|
st.SetBool(true)
|
|
assert.Equal(false, st.Bool())
|
|
st = st.SetBool(true)
|
|
assert.Equal(true, st.Bool())
|
|
|
|
assert.Equal("hi", st.String())
|
|
st.SetString("bye")
|
|
assert.Equal("hi", st.String())
|
|
st = st.SetString("bye")
|
|
assert.Equal("bye", st.String())
|
|
|
|
assert.True(st.Blob().Equals(types.NewEmptyBlob()))
|
|
b, err := types.NewBlob(strings.NewReader("hello"))
|
|
assert.NoError(err)
|
|
st.SetBlob(b)
|
|
assert.True(st.Blob().Equals(types.NewEmptyBlob()))
|
|
st = st.SetBlob(b)
|
|
assert.True(st.Blob().Equals(b))
|
|
|
|
assert.True(st.Value().Equals(types.Bool(false)))
|
|
st.SetValue(types.NewString("x"))
|
|
assert.True(st.Value().Equals(types.Bool(false)))
|
|
st = st.SetValue(types.NewString("x"))
|
|
assert.True(st.Value().Equals(types.NewString("x")))
|
|
}
|
|
|
|
func TestStructBackingMapKeyNames(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
s := NewStructPrimitives().SetBool(true)
|
|
assert.True(bool(s.NomsValue().(types.Map).Get(types.NewString("bool")).(types.Bool)))
|
|
}
|