本文整理汇总了Golang中github.com/davelondon/ktest/assert.True函数的典型用法代码示例。如果您正苦于以下问题:Golang True函数的具体用法?Golang True怎么用?Golang True使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了True函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: testType
func testType(t *testing.T, up unpacker.Interface) {
ctx := initialise()
data := `{
"description": "This is the most basic type.",
"type": "type",
"id": "type",
"fields": {
"native": {
"description": "This is the native json type that represents this type. If omitted, default is object.",
"type": "@string",
"enum": ["string", "number", "bool", "array", "object", "map"],
"default": "object",
"optional": true
},
"interface": {
"description": "Is this type an interface?",
"type": "@bool",
"default": false,
"optional": true
},
"fields": {
"description": "Each field is listed with it's type",
"type": "@map",
"items": {
"type": "@rule"
},
"optional": true
},
"rule": {
"description": "Embedded type that defines restriction rules for this type. By convention, the ID should be this type prefixed with the @ character.",
"type": "@type",
"optional": true
}
},
"rule": {
"description": "Restriction rules for types",
"type": "type",
"embed": ["rule"]
}
}`
var i interface{}
err := up.Process(ctx, []byte(data), &i)
require.NoError(t, err)
f, ok := i.(*system.Type)
assert.True(t, ok, "Type %T not correct", i)
assert.NotNil(t, f)
assert.Equal(t, "This is the most basic type.", f.Description)
assert.NotNil(t, f.Native)
assert.Equal(t, "object", f.Native.Value())
assert.Equal(t, "Is this type an interface?", f.Fields["interface"].(system.ObjectInterface).GetObject(nil).Description)
assert.Equal(t, true, f.Fields["interface"].GetRule(nil).Optional)
r, ok := f.Fields["interface"].(*system.BoolRule)
assert.True(t, ok, "Wrong type %T\n", f.Fields["interface"])
assert.NotNil(t, r.Default)
assert.Equal(t, false, r.Default.Value())
}
示例2: TestGetOptions
func TestGetOptions(t *testing.T) {
getTrue := func() *bool {
val := true
return &val
}
a := "a"
b := 2
f := Flags{
Edit: getTrue(),
Update: getTrue(),
Log: getTrue(),
Validate: getTrue(),
Debug: getTrue(),
Path: &a,
Port: &b,
}
d := f.getOptions()
assert.True(t, d.Edit)
assert.True(t, d.Update)
assert.True(t, d.Log)
assert.True(t, d.Validate)
assert.True(t, d.Debug)
assert.Equal(t, 2, d.Port)
assert.Equal(t, "a", d.Path)
}
示例3: TestNode_SetValueZero2
func TestNode_SetValueZero2(t *testing.T) {
cb, n := data.Empty(t)
test := func(t *testing.T, n *node.Node, m *data.Multi) {
sstring, ok := system.GetTypeFromCache(cb.Ctx(), "kego.io/system", "string")
assert.True(t, ok)
snumber, ok := system.GetTypeFromCache(cb.Ctx(), "kego.io/system", "number")
assert.True(t, ok)
require.NoError(t, n.Map["ss"].SetValueZero(cb.Ctx(), true, sstring))
assert.Nil(t, m.Ss)
require.NoError(t, n.Map["sn"].SetValueZero(cb.Ctx(), false, snumber))
assert.NotNil(t, m.Sn)
require.NoError(t, n.Map["mnri"].SetValueZero(cb.Ctx(), true, nil))
assert.Nil(t, m.Mnri)
require.NoError(t, n.Map["mi"].SetValueZero(cb.Ctx(), false, nil))
assert.NotNil(t, m.Mi)
assert.Equal(t, 0, len(m.Mi))
require.NoError(t, n.Map["anri"].SetValueZero(cb.Ctx(), true, nil))
assert.Nil(t, m.Anri)
require.NoError(t, n.Map["ai"].SetValueZero(cb.Ctx(), false, nil))
assert.NotNil(t, m.Ai)
assert.Equal(t, 0, len(m.Ai))
}
data.Run(t, n, n.Value.(*data.Multi), test)
}
示例4: TestParse1
func TestParse1(t *testing.T) {
cb := tests.New().TempGopath(true)
defer cb.Cleanup()
path, dir := cb.TempPackage("a", map[string]string{
"a.json": `{
"description": "a",
"type": "system:type",
"id": "b",
"fields": {
"c": {
"type": "system:@string"
}
}
}`,
})
cb.Path(path).Dir(dir).Cmd().Sempty().Jsystem()
_, err := Parse(cb.Ctx(), path)
require.NoError(t, err)
scache := sysctx.FromContext(cb.Ctx())
i, ok := scache.GetType(path, "b")
assert.True(t, ok)
ty, ok := i.(*system.Type)
assert.True(t, ok)
assert.Equal(t, "a", ty.Description)
}
示例5: TestBoolUnmarshalJSON
func TestBoolUnmarshalJSON(t *testing.T) {
var b *Bool
err := b.Unpack(envctx.Empty, Pack(nil), false)
require.NoError(t, err)
assert.Nil(t, b)
b = NewBool(false)
err = b.Unpack(envctx.Empty, Pack(true), false)
require.NoError(t, err)
assert.NotNil(t, b)
assert.True(t, b.Value())
b = NewBool(false)
err = b.Unpack(envctx.Empty, Pack(map[string]interface{}{
"type": "system:bool",
"value": true,
}), false)
require.NoError(t, err)
assert.NotNil(t, b)
assert.True(t, b.Value())
b = NewBool(true)
err = b.Unpack(envctx.Empty, Pack(false), false)
require.NoError(t, err)
assert.NotNil(t, b)
assert.False(t, b.Value())
b = NewBool(false)
err = b.Unpack(envctx.Empty, Pack("foo"), false)
assert.Error(t, err)
}
示例6: TestComparePackageHash
func TestComparePackageHash(t *testing.T) {
cb := tests.New().TempGopath(true)
path, _ := cb.TempPackage("a", map[string]string{
"a.yaml": "type: system:package",
})
cb.Path(path).Jempty().Spkg(path)
// "a.b/c" not found in scache.
changes, err := comparePackageHash(cb.Ctx(), "a.b/c")
assert.IsError(t, err, "NHXWLPHCHL")
assert.False(t, changes)
// path not found in jcache
changes, err = comparePackageHash(cb.Ctx(), path)
require.NoError(t, err)
assert.True(t, changes)
cb.Jsystem().Jpkg(path, 999).Sauto(parser.Parse)
// hash changed
changes, err = comparePackageHash(cb.Ctx(), path)
require.NoError(t, err)
assert.True(t, changes)
scache := sysctx.FromContext(cb.Ctx())
pi, _ := scache.Get(path)
cb.Jpkg(path, pi.Hash)
// hash correct
changes, err = comparePackageHash(cb.Ctx(), path)
require.NoError(t, err)
assert.False(t, changes)
pi.Aliases["c"] = "a.b/c"
changes, err = comparePackageHash(cb.Ctx(), path)
assert.IsError(t, err, "DGJTLHQOCQ")
assert.False(t, changes)
pi1 := scache.Set("a.b/c")
changes, err = comparePackageHash(cb.Ctx(), path)
require.NoError(t, err)
assert.True(t, changes)
cb.Jpkg("a.b/c", 1)
pi1.Hash = 2
changes, err = comparePackageHash(cb.Ctx(), path)
require.NoError(t, err)
assert.True(t, changes)
pi1.Hash = 1
changes, err = comparePackageHash(cb.Ctx(), path)
require.NoError(t, err)
assert.False(t, changes)
}
示例7: TestIsNull
func TestIsNull(t *testing.T) {
assert.True(t, isNull(exprElement{typ: system.J_NULL, value: nil}))
assert.True(t, isNull(exprElement{typ: system.J_MAP, value: nil}))
assert.True(t, isNull(exprElement{typ: system.J_MAP, value: &node.Node{Null: true}}))
assert.True(t, isNull(exprElement{typ: system.J_MAP, value: &node.Node{Missing: true}}))
assert.False(t, isNull(exprElement{typ: system.J_MAP, value: &node.Node{}}))
assert.False(t, isNull(exprElement{typ: system.J_MAP, value: 1}))
}
示例8: TestGetBool
func TestGetBool(t *testing.T) {
assert.False(t, getBool(nil))
assert.False(t, getBool(&node.Node{ValueBool: false}))
assert.True(t, getBool(&node.Node{ValueBool: true}))
assert.True(t, getBool(system.NewBool(true)))
assert.False(t, getBool(system.NewBool(false)))
assert.True(t, getBool(true))
assert.False(t, getBool(false))
assert.False(t, getBool("a"))
}
示例9: TestArrayRule_Enforce
func TestArrayRule_Enforce(t *testing.T) {
r := ArrayRule{MaxItems: NewInt(2)}
fail, messages, err := r.Enforce(envctx.Empty, []int{1, 2})
require.NoError(t, err)
assert.Equal(t, 0, len(messages))
assert.False(t, fail)
fail, messages, err = r.Enforce(envctx.Empty, []int{1, 2, 3})
require.NoError(t, err)
assert.Equal(t, "MaxItems: length 3 should not be greater than 2", messages[0])
assert.True(t, fail)
r = ArrayRule{MinItems: NewInt(2)}
fail, messages, err = r.Enforce(envctx.Empty, []int{1, 2})
require.NoError(t, err)
assert.Equal(t, 0, len(messages))
assert.False(t, fail)
fail, messages, err = r.Enforce(envctx.Empty, []int{1})
require.NoError(t, err)
assert.Equal(t, "MinItems: length 1 should not be less than 2", messages[0])
assert.True(t, fail)
r = ArrayRule{UniqueItems: true}
fail, messages, err = r.Enforce(envctx.Empty, []int{1, 2, 3, 4})
require.NoError(t, err)
assert.Equal(t, 0, len(messages))
assert.False(t, fail)
fail, messages, err = r.Enforce(envctx.Empty, []int{1, 2, 3, 3})
require.NoError(t, err)
assert.Equal(t, "UniqueItems: array contains duplicate item 3", messages[0])
assert.True(t, fail)
fail, messages, err = r.Enforce(envctx.Empty, []string{"foo", "bar", "foo"})
require.NoError(t, err)
assert.Equal(t, "UniqueItems: array contains duplicate item foo", messages[0])
assert.True(t, fail)
r = ArrayRule{}
fail, messages, err = r.Enforce(envctx.Empty, []int{1, 2})
require.NoError(t, err)
assert.Equal(t, 0, len(messages))
assert.False(t, fail)
r = ArrayRule{MaxItems: NewInt(2)}
fail, messages, err = r.Enforce(envctx.Empty, map[string]int{"foo": 1, "bar": 2})
assert.IsError(t, err, "OWTAUVVFBL")
s := &StringRule{}
var cr CollectionRule = &ArrayRule{Items: s}
assert.Equal(t, s, cr.GetItemsRule())
}
示例10: TestLogger
func TestLogger(t *testing.T) {
_, o, e := Logger(false)
_, ok := o.(*bytes.Buffer)
assert.True(t, ok)
_, ok = e.(*bytes.Buffer)
assert.True(t, ok)
_, o, e = Logger(true)
_, ok = o.(*multiWriter)
assert.True(t, ok)
_, ok = e.(*multiWriter)
assert.True(t, ok)
}
示例11: checkReflectType
func checkReflectType(ctx context.Context, t *testing.T, path string, name string, field string, output string) {
scache := sysctx.FromContext(ctx)
p, ok := scache.Get(path)
assert.True(t, ok)
typ, ok := p.Types.Get(name)
assert.True(t, ok)
ty, ok := typ.Type.(*system.Type)
assert.True(t, ok)
r, ok := ty.Fields[field]
assert.True(t, ok)
rh := system.WrapRule(ctx, r)
rt, err := rh.GetReflectType()
require.NoError(t, err)
assert.Equal(t, output, rt.String())
}
示例12: TestMapRule_Enforce
func TestMapRule_Enforce(t *testing.T) {
r := MapRule{Keys: &IntRule{Rule: &Rule{}}}
fail, messages, err := r.Enforce(envctx.Empty, map[string]int{"foo": 1})
require.IsError(t, err, "WDKAXPCRJB")
r = MapRule{Keys: &StringRule{Rule: &Rule{}, MaxLength: NewInt(1)}}
fail, messages, err = r.Enforce(envctx.Empty, map[string]int{"foo": 1})
require.NoError(t, err)
assert.Equal(t, 1, len(messages))
assert.True(t, fail)
assert.Equal(t, "MaxLength: length of \"foo\" must not be greater than 1", messages[0])
r = MapRule{MaxItems: NewInt(2)}
fail, messages, err = r.Enforce(envctx.Empty, map[string]int{"foo": 1, "bar": 2})
require.NoError(t, err)
assert.Equal(t, 0, len(messages))
assert.False(t, fail)
fail, messages, err = r.Enforce(envctx.Empty, map[string]int{"foo": 1, "bar": 2, "baz": 3})
require.NoError(t, err)
assert.Equal(t, "MaxItems: length 3 should not be greater than 2", messages[0])
assert.True(t, fail)
r = MapRule{MinItems: NewInt(2)}
fail, messages, err = r.Enforce(envctx.Empty, map[string]int{"foo": 1, "bar": 2})
require.NoError(t, err)
assert.Equal(t, 0, len(messages))
assert.False(t, fail)
fail, messages, err = r.Enforce(envctx.Empty, map[string]int{"foo": 1})
require.NoError(t, err)
assert.Equal(t, "MinItems: length 1 should not be less than 2", messages[0])
assert.True(t, fail)
_, _, err = r.Enforce(envctx.Empty, "a")
assert.IsError(t, err, "NFWPLTOJLP")
r = MapRule{}
fail, messages, err = r.Enforce(envctx.Empty, map[string]int{"foo": 1})
require.NoError(t, err)
assert.False(t, fail)
assert.Equal(t, 0, len(messages))
var cr CollectionRule = &MapRule{Items: &StringRule{Equal: NewString("a")}}
assert.Equal(t, "a", cr.GetItemsRule().(*StringRule).Equal.Value())
}
示例13: TestNode_SetValueZero3
func TestNode_SetValueZero3(t *testing.T) {
cb, n := data.Empty(t)
f, ok := system.GetTypeFromCache(cb.Ctx(), "kego.io/tests/data", "face")
assert.True(t, ok)
err := n.SetValueZero(cb.Ctx(), true, f)
assert.HasError(t, err, "VHOSYBMDQL")
}
示例14: TestNewBool
func TestNewBool(t *testing.T) {
b := NewBool(true)
assert.True(t, b.Value())
b1 := NewBool(false)
assert.False(t, b1.Value())
}
示例15: TestNode_InitialiseMapChild
func TestNode_InitialiseMapChild(t *testing.T) {
cb, n := data.Setup(t)
test := func(t *testing.T, n *node.Node, m *data.Multi) {
c := node.NewNode()
require.NoError(t, c.InitialiseMapItem(cb.Ctx(), n.Map["mjs"], "c"))
require.NoError(t, c.AddToMap(cb.Ctx(), n.Map["mjs"], "c", true))
assert.Equal(t, 3, len(n.Map["mjs"].Map))
assert.True(t, n.Map["mjs"].Map["c"].Null)
assert.False(t, n.Map["mjs"].Map["c"].Missing)
assert.Equal(t, c, n.Map["mjs"].Map["c"])
assert.Equal(t, "", m.Mjs["c"])
c1 := node.NewNode()
require.NoError(t, c1.InitialiseMapItem(cb.Ctx(), n.Map["mss"], "c"))
require.NoError(t, c1.AddToMap(cb.Ctx(), n.Map["mss"], "c", true))
assert.Equal(t, 3, len(n.Map["mss"].Map))
assert.Nil(t, m.Mss["c"])
c2 := node.NewNode()
require.NoError(t, c2.InitialiseMapItem(cb.Ctx(), n.Map["mm"], "c"))
require.NoError(t, c2.AddToMap(cb.Ctx(), n.Map["mm"], "c", true))
assert.Equal(t, 3, len(m.Mm))
assert.Nil(t, m.Mm["c"])
}
data.Run(t, n, n.Value.(*data.Multi), test)
}