-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathedgekind_test.go
More file actions
83 lines (78 loc) · 2.16 KB
/
Copy pathedgekind_test.go
File metadata and controls
83 lines (78 loc) · 2.16 KB
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
package model
import (
"encoding/json"
"testing"
)
func TestEdgeKindCount(t *testing.T) {
if got, want := len(AllEdgeKinds()), 28; got != want {
t.Fatalf("AllEdgeKinds count = %d, want %d", got, want)
}
}
func TestEdgeKindValues(t *testing.T) {
cases := map[EdgeKind]string{
EdgeDependsOn: "depends_on",
EdgeImports: "imports",
EdgeExtends: "extends",
EdgeImplements: "implements",
EdgeCalls: "calls",
EdgeInjects: "injects",
EdgeExposes: "exposes",
EdgeQueries: "queries",
EdgeMapsTo: "maps_to",
EdgeProduces: "produces",
EdgeConsumes: "consumes",
EdgePublishes: "publishes",
EdgeListens: "listens",
EdgeInvokesRMI: "invokes_rmi",
EdgeExportsRMI: "exports_rmi",
EdgeReadsConfig: "reads_config",
EdgeMigrates: "migrates",
EdgeContains: "contains",
EdgeDefines: "defines",
EdgeOverrides: "overrides",
EdgeConnectsTo: "connects_to",
EdgeTriggers: "triggers",
EdgeProvisions: "provisions",
EdgeSendsTo: "sends_to",
EdgeReceivesFrom: "receives_from",
EdgeProtects: "protects",
EdgeRenders: "renders",
EdgeReferencesTable: "references_table",
}
for k, want := range cases {
if got := k.String(); got != want {
t.Errorf("%v.String() = %q, want %q", k, got, want)
}
}
}
func TestEdgeKindFromString(t *testing.T) {
for _, k := range AllEdgeKinds() {
got, err := ParseEdgeKind(k.String())
if err != nil {
t.Errorf("ParseEdgeKind(%q) error = %v", k.String(), err)
continue
}
if got != k {
t.Errorf("round-trip: %q → %v, want %v", k.String(), got, k)
}
}
if _, err := ParseEdgeKind("bogus"); err == nil {
t.Error("ParseEdgeKind(\"bogus\") err = nil, want non-nil")
}
}
func TestEdgeKindJSON(t *testing.T) {
b, err := json.Marshal(EdgeReferencesTable)
if err != nil {
t.Fatal(err)
}
if string(b) != `"references_table"` {
t.Fatalf("Marshal = %s", b)
}
var k EdgeKind
if err := json.Unmarshal([]byte(`"calls"`), &k); err != nil {
t.Fatal(err)
}
if k != EdgeCalls {
t.Fatalf("Unmarshal = %v, want EdgeCalls", k)
}
}