refactor(ksuid): replace BinExpr with top-level expr helpers
Adds StringKSUIDExpr and BinaryKSUIDExpr for use with ExprValues, plus Expr() methods on both types. Removes ExprStringKSUIDs and BinExpr. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package dbx
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestStringKSUIDExpr(t *testing.T) {
|
||||
id := NewStringKSUID()
|
||||
expr := StringKSUIDExpr(id)
|
||||
require.NotNil(t, expr)
|
||||
assert.Equal(t, expr, id.Expr())
|
||||
|
||||
nilExpr := StringKSUIDExpr(NilStringKSUID)
|
||||
require.NotNil(t, nilExpr)
|
||||
assert.Equal(t, nilExpr, NilStringKSUID.Expr())
|
||||
}
|
||||
|
||||
func TestBinaryKSUIDExpr(t *testing.T) {
|
||||
id := NewBinaryKSUID()
|
||||
expr := BinaryKSUIDExpr(id)
|
||||
require.NotNil(t, expr)
|
||||
assert.Equal(t, expr, id.Expr())
|
||||
|
||||
nilExpr := BinaryKSUIDExpr(NilBinaryKSUID)
|
||||
require.NotNil(t, nilExpr)
|
||||
assert.Equal(t, nilExpr, NilBinaryKSUID.Expr())
|
||||
}
|
||||
|
||||
func TestExprValues_StringKSUID(t *testing.T) {
|
||||
a := NewStringKSUID()
|
||||
b := NewStringKSUID()
|
||||
exprs := ExprValues([]*StringKSUID{&a, &b}, func(id *StringKSUID) Expression {
|
||||
return id.Expr()
|
||||
})
|
||||
require.Len(t, exprs, 2)
|
||||
}
|
||||
|
||||
func TestExprValues_BinaryKSUID(t *testing.T) {
|
||||
a := NewBinaryKSUID()
|
||||
exprs := ExprValues([]BinaryKSUID{a}, BinaryKSUIDExpr)
|
||||
require.Len(t, exprs, 1)
|
||||
assert.NotNil(t, exprs[0])
|
||||
}
|
||||
Reference in New Issue
Block a user