generated from dogmatiq/template-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvisitor_test.go
95 lines (81 loc) · 2.8 KB
/
visitor_test.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package configkit_test
import (
"context"
. "github.com/dogmatiq/configkit"
)
// visitorStub is a test implementation of [configkit.Visitor].
type visitorStub struct {
VisitApplicationFunc func(context.Context, Application) error
VisitAggregateFunc func(context.Context, Aggregate) error
VisitProcessFunc func(context.Context, Process) error
VisitIntegrationFunc func(context.Context, Integration) error
VisitProjectionFunc func(context.Context, Projection) error
}
func (v *visitorStub) VisitApplication(ctx context.Context, cfg Application) error {
if v.VisitApplicationFunc != nil {
return v.VisitApplicationFunc(ctx, cfg)
}
return cfg.Handlers().AcceptVisitor(ctx, v)
}
func (v *visitorStub) VisitAggregate(ctx context.Context, cfg Aggregate) error {
if v.VisitAggregateFunc == nil {
return nil
}
return v.VisitAggregateFunc(ctx, cfg)
}
func (v *visitorStub) VisitProcess(ctx context.Context, cfg Process) error {
if v.VisitProcessFunc == nil {
return nil
}
return v.VisitProcessFunc(ctx, cfg)
}
func (v *visitorStub) VisitIntegration(ctx context.Context, cfg Integration) error {
if v.VisitIntegrationFunc == nil {
return nil
}
return v.VisitIntegrationFunc(ctx, cfg)
}
func (v *visitorStub) VisitProjection(ctx context.Context, cfg Projection) error {
if v.VisitProjectionFunc == nil {
return nil
}
return v.VisitProjectionFunc(ctx, cfg)
}
// richVisitorStub is a test implementation of [configkit.RichVisitor].
type richVisitorStub struct {
VisitRichApplicationFunc func(context.Context, RichApplication) error
VisitRichAggregateFunc func(context.Context, RichAggregate) error
VisitRichProcessFunc func(context.Context, RichProcess) error
VisitRichIntegrationFunc func(context.Context, RichIntegration) error
VisitRichProjectionFunc func(context.Context, RichProjection) error
}
func (v *richVisitorStub) VisitRichApplication(ctx context.Context, cfg RichApplication) error {
if v.VisitRichApplicationFunc != nil {
return v.VisitRichApplicationFunc(ctx, cfg)
}
return cfg.RichHandlers().AcceptRichVisitor(ctx, v)
}
func (v *richVisitorStub) VisitRichAggregate(ctx context.Context, cfg RichAggregate) error {
if v.VisitRichAggregateFunc == nil {
return nil
}
return v.VisitRichAggregateFunc(ctx, cfg)
}
func (v *richVisitorStub) VisitRichProcess(ctx context.Context, cfg RichProcess) error {
if v.VisitRichProcessFunc == nil {
return nil
}
return v.VisitRichProcessFunc(ctx, cfg)
}
func (v *richVisitorStub) VisitRichIntegration(ctx context.Context, cfg RichIntegration) error {
if v.VisitRichIntegrationFunc == nil {
return nil
}
return v.VisitRichIntegrationFunc(ctx, cfg)
}
func (v *richVisitorStub) VisitRichProjection(ctx context.Context, cfg RichProjection) error {
if v.VisitRichProjectionFunc == nil {
return nil
}
return v.VisitRichProjectionFunc(ctx, cfg)
}