1
2
3
4
5 package cmpopts_test
6
7 import (
8 "fmt"
9 "net"
10 "time"
11
12 "github.com/google/go-cmp/cmp"
13 "github.com/google/go-cmp/cmp/cmpopts"
14 "github.com/google/go-cmp/cmp/internal/flags"
15 )
16
17 func init() {
18 flags.Deterministic = true
19 }
20
21
22
23
24 func ExampleIgnoreFields_testing() {
25
26
27 got, want := MakeGatewayInfo()
28
29
30
31
32 if diff := cmp.Diff(want, got, cmpopts.IgnoreFields(Client{}, "IPAddress")); diff != "" {
33 t.Errorf("MakeGatewayInfo() mismatch (-want +got):\n%s", diff)
34 }
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 }
55
56 type (
57 Gateway struct {
58 SSID string
59 IPAddress net.IP
60 NetMask net.IPMask
61 Clients []Client
62 }
63 Client struct {
64 Hostname string
65 IPAddress net.IP
66 LastSeen time.Time
67 }
68 )
69
70 func MakeGatewayInfo() (x, y Gateway) {
71 x = Gateway{
72 SSID: "CoffeeShopWiFi",
73 IPAddress: net.IPv4(192, 168, 0, 1),
74 NetMask: net.IPv4Mask(255, 255, 0, 0),
75 Clients: []Client{{
76 Hostname: "ristretto",
77 IPAddress: net.IPv4(192, 168, 0, 116),
78 }, {
79 Hostname: "aribica",
80 IPAddress: net.IPv4(192, 168, 0, 104),
81 LastSeen: time.Date(2009, time.November, 10, 23, 6, 32, 0, time.UTC),
82 }, {
83 Hostname: "macchiato",
84 IPAddress: net.IPv4(192, 168, 0, 153),
85 LastSeen: time.Date(2009, time.November, 10, 23, 39, 43, 0, time.UTC),
86 }, {
87 Hostname: "espresso",
88 IPAddress: net.IPv4(192, 168, 0, 121),
89 }, {
90 Hostname: "latte",
91 IPAddress: net.IPv4(192, 168, 0, 219),
92 LastSeen: time.Date(2009, time.November, 10, 23, 0, 23, 0, time.UTC),
93 }, {
94 Hostname: "americano",
95 IPAddress: net.IPv4(192, 168, 0, 188),
96 LastSeen: time.Date(2009, time.November, 10, 23, 3, 5, 0, time.UTC),
97 }},
98 }
99 y = Gateway{
100 SSID: "CoffeeShopWiFi",
101 IPAddress: net.IPv4(192, 168, 0, 2),
102 NetMask: net.IPv4Mask(255, 255, 0, 0),
103 Clients: []Client{{
104 Hostname: "ristretto",
105 IPAddress: net.IPv4(192, 168, 0, 116),
106 }, {
107 Hostname: "aribica",
108 IPAddress: net.IPv4(192, 168, 0, 104),
109 LastSeen: time.Date(2009, time.November, 10, 23, 6, 32, 0, time.UTC),
110 }, {
111 Hostname: "macchiato",
112 IPAddress: net.IPv4(192, 168, 0, 153),
113 LastSeen: time.Date(2009, time.November, 10, 23, 39, 43, 0, time.UTC),
114 }, {
115 Hostname: "espresso",
116 IPAddress: net.IPv4(192, 168, 0, 121),
117 }, {
118 Hostname: "latte",
119 IPAddress: net.IPv4(192, 168, 0, 221),
120 LastSeen: time.Date(2009, time.November, 10, 23, 0, 23, 0, time.UTC),
121 }},
122 }
123 return x, y
124 }
125
126 var t fakeT
127
128 type fakeT struct{}
129
130 func (t fakeT) Errorf(format string, args ...interface{}) { fmt.Printf(format+"\n", args...) }
131
View as plain text