feat(Go-StudyExample):2021/02/09:新增merge源码阅读和单测代码
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package mergo_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/imdario/mergo"
|
||||
)
|
||||
|
||||
func TestIssue129Boolean(t *testing.T) {
|
||||
type Foo struct {
|
||||
A bool
|
||||
B bool
|
||||
}
|
||||
|
||||
src := Foo{
|
||||
A: true,
|
||||
B: false,
|
||||
}
|
||||
dst := Foo{
|
||||
A: false,
|
||||
B: true,
|
||||
}
|
||||
|
||||
// Standard behavior
|
||||
if err := mergo.Merge(&dst, src); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if dst.A != true {
|
||||
t.Errorf("expected true, got false")
|
||||
}
|
||||
if dst.B != true {
|
||||
t.Errorf("expected true, got false")
|
||||
}
|
||||
|
||||
// Expected behavior
|
||||
dst = Foo{
|
||||
A: false,
|
||||
B: true,
|
||||
}
|
||||
if err := mergo.Merge(&dst, src, mergo.WithOverwriteWithEmptyValue); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if dst.A != true {
|
||||
t.Errorf("expected true, got false")
|
||||
}
|
||||
if dst.B != false {
|
||||
t.Errorf("expected false, got true")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user