-
Notifications
You must be signed in to change notification settings - Fork 0
/
case3.go
54 lines (40 loc) · 938 Bytes
/
case3.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package mockobject
import "fmt"
type Case3MockObj1 struct {
}
func (myself *Case3MockObj1) SayHello() {
fmt.Println("case 3 mock object 1 ")
}
/**
* @Inject inject object
*/
func (myself *Case3MockObj1) InjectMockObj(co *Case3MockObj2, c3 *Case3MockObj3) {
fmt.Println(" inject new object ")
fmt.Println(co)
co.SayHello()
c3.SayHello()
}
type Case3MockObj2 struct {
}
func (myself *Case3MockObj2) SayHello() {
fmt.Println("case 3 mock object 2 ")
}
func (myself *Case3MockObj2) Afterset() {
fmt.Println("afterset case 3 mock object 2 ")
}
type Case3MockObj3 struct {
}
func (myself *Case3MockObj3) Inject(obj *Case3MockObj2) {
fmt.Println(" run inject method ")
// --- inject base boject
obj.SayHello()
}
func (myself *Case3MockObj3) SayHello() {
fmt.Println("case 3 mock object 3 ")
}
/**
* define after method
*/
func (myself *Case3MockObj3) Afterset() {
fmt.Println("call after set in case mock obj3")
}