blob: 05118be946cc36e867ecf87d0f710b6d64352565 [file] [log] [blame]
<<< TestDiff/Comparer/StructInequal
struct{ A int; B int; C int }{
A: 1,
B: 2,
- C: 3,
+ C: 4,
}
>>> TestDiff/Comparer/StructInequal
<<< TestDiff/Comparer/PointerStructInequal
&struct{ A *int }{
- A: &4,
+ A: &5,
}
>>> TestDiff/Comparer/PointerStructInequal
<<< TestDiff/Comparer/StructNestedPointerInequal
&struct{ R *bytes.Buffer }{
- R: s"",
+ R: nil,
}
>>> TestDiff/Comparer/StructNestedPointerInequal
<<< TestDiff/Comparer/RegexpInequal
[]*regexp.Regexp{
nil,
- s"a*b*c*",
+ s"a*b*d*",
}
>>> TestDiff/Comparer/RegexpInequal
<<< TestDiff/Comparer/TriplePointerInequal
&&&int(
- 0,
+ 1,
)
>>> TestDiff/Comparer/TriplePointerInequal
<<< TestDiff/Comparer/StringerInequal
struct{ fmt.Stringer }(
- s"hello",
+ s"hello2",
)
>>> TestDiff/Comparer/StringerInequal
<<< TestDiff/Comparer/DifferingHash
[16]uint8{
- 0x0c, 0xc1, 0x75, 0xb9, 0xc0, 0xf1, 0xb6, 0xa8, 0x31, 0xc3, 0x99, 0xe2, 0x69, 0x77, 0x26, 0x61,
+ 0x92, 0xeb, 0x5f, 0xfe, 0xe6, 0xae, 0x2f, 0xec, 0x3a, 0xd7, 0x1c, 0x77, 0x75, 0x31, 0x57, 0x8f,
}
>>> TestDiff/Comparer/DifferingHash
<<< TestDiff/Comparer/NilStringer
interface{}(
- &fmt.Stringer(nil),
)
>>> TestDiff/Comparer/NilStringer
<<< TestDiff/Comparer/TarHeaders
[]cmp_test.tarHeader{
{
... // 4 identical fields
Size: 1,
ModTime: s"2009-11-10 23:00:00 +0000 UTC",
- Typeflag: 48,
+ Typeflag: 0,
Linkname: "",
Uname: "user",
... // 6 identical fields
},
{
... // 4 identical fields
Size: 2,
ModTime: s"2009-11-11 00:00:00 +0000 UTC",
- Typeflag: 48,
+ Typeflag: 0,
Linkname: "",
Uname: "user",
... // 6 identical fields
},
{
... // 4 identical fields
Size: 4,
ModTime: s"2009-11-11 01:00:00 +0000 UTC",
- Typeflag: 48,
+ Typeflag: 0,
Linkname: "",
Uname: "user",
... // 6 identical fields
},
{
... // 4 identical fields
Size: 8,
ModTime: s"2009-11-11 02:00:00 +0000 UTC",
- Typeflag: 48,
+ Typeflag: 0,
Linkname: "",
Uname: "user",
... // 6 identical fields
},
{
... // 4 identical fields
Size: 16,
ModTime: s"2009-11-11 03:00:00 +0000 UTC",
- Typeflag: 48,
+ Typeflag: 0,
Linkname: "",
Uname: "user",
... // 6 identical fields
},
}
>>> TestDiff/Comparer/TarHeaders
<<< TestDiff/Comparer/IrreflexiveComparison
[]int{
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
- Inverse(λ, float64(NaN)),
+ Inverse(λ, float64(NaN)),
}
>>> TestDiff/Comparer/IrreflexiveComparison
<<< TestDiff/Comparer/StringerMapKey
map[*testprotos.Stringer]*testprotos.Stringer(
- {s"hello": s"world"},
+ nil,
)
>>> TestDiff/Comparer/StringerMapKey
<<< TestDiff/Comparer/StringerBacktick
interface{}(
- []*testprotos.Stringer{s`multi\nline\nline\nline`},
)
>>> TestDiff/Comparer/StringerBacktick
<<< TestDiff/Comparer/DynamicMap
[]interface{}{
map[string]interface{}{
"avg": float64(0.278),
- "hr": int(65),
+ "hr": float64(65),
"name": string("Mark McGwire"),
},
map[string]interface{}{
"avg": float64(0.288),
- "hr": int(63),
+ "hr": float64(63),
"name": string("Sammy Sosa"),
},
}
>>> TestDiff/Comparer/DynamicMap
<<< TestDiff/Comparer/MapKeyPointer
map[*int]string{
- &⟪0xdeadf00f⟫0: "hello",
+ &⟪0xdeadf00f⟫0: "world",
}
>>> TestDiff/Comparer/MapKeyPointer
<<< TestDiff/Comparer/IgnoreSliceElements
[2][]int{
{..., 1, 2, 3, ...},
{
... // 6 ignored and 1 identical elements
- 20,
+ 2,
... // 3 ignored elements
},
}
>>> TestDiff/Comparer/IgnoreSliceElements
<<< TestDiff/Comparer/IgnoreMapEntries
[2]map[string]int{
{"KEEP3": 3, "keep1": 1, "keep2": 2, ...},
{
... // 2 ignored entries
"keep1": 1,
+ "keep2": 2,
},
}
>>> TestDiff/Comparer/IgnoreMapEntries
<<< TestDiff/Transformer/Uints
uint8(Inverse(λ, uint16(Inverse(λ, uint32(Inverse(λ, uint64(
- 0,
+ 1,
)))))))
>>> TestDiff/Transformer/Uints
<<< TestDiff/Transformer/Filtered
[]int{
Inverse(λ, int64(0)),
- Inverse(λ, int64(-5)),
+ Inverse(λ, int64(3)),
Inverse(λ, int64(0)),
- Inverse(λ, int64(-1)),
+ Inverse(λ, int64(-5)),
}
>>> TestDiff/Transformer/Filtered
<<< TestDiff/Transformer/DisjointOutput
int(Inverse(λ, interface{}(
- string("zero"),
+ float64(1),
)))
>>> TestDiff/Transformer/DisjointOutput
<<< TestDiff/Transformer/JSON
string(Inverse(ParseJSON, map[string]interface{}{
"address": map[string]interface{}{
- "city": string("Los Angeles"),
+ "city": string("New York"),
"postalCode": string("10021-3100"),
- "state": string("CA"),
+ "state": string("NY"),
"streetAddress": string("21 2nd Street"),
},
"age": float64(25),
"children": []interface{}{},
"firstName": string("John"),
"isAlive": bool(true),
"lastName": string("Smith"),
"phoneNumbers": []interface{}{
map[string]interface{}{
- "number": string("212 555-4321"),
+ "number": string("212 555-1234"),
"type": string("home"),
},
map[string]interface{}{"number": string("646 555-4567"), "type": string("office")},
map[string]interface{}{"number": string("123 456-7890"), "type": string("mobile")},
},
+ "spouse": nil,
}))
>>> TestDiff/Transformer/JSON
<<< TestDiff/Transformer/AcyclicString
cmp_test.StringBytes{
String: Inverse(SplitString, []string{
"some",
"multi",
- "Line",
+ "line",
"string",
}),
Bytes: []uint8(Inverse(SplitBytes, [][]uint8{
{0x73, 0x6f, 0x6d, 0x65},
{0x6d, 0x75, 0x6c, 0x74, ...},
{0x6c, 0x69, 0x6e, 0x65},
{
- 0x62,
+ 0x42,
0x79,
0x74,
... // 2 identical elements
},
})),
}
>>> TestDiff/Transformer/AcyclicString
<<< TestDiff/Reporter/PanicStringer
struct{ X fmt.Stringer }{
- X: struct{ fmt.Stringer }{},
+ X: s"",
}
>>> TestDiff/Reporter/PanicStringer
<<< TestDiff/Reporter/PanicError
struct{ X error }{
- X: struct{ error }{},
+ X: e"",
}
>>> TestDiff/Reporter/PanicError
<<< TestDiff/Reporter/AmbiguousType
interface{}(
- "github.com/google/go-cmp/cmp/internal/teststructs/foo1".Bar{},
+ "github.com/google/go-cmp/cmp/internal/teststructs/foo2".Bar{},
)
>>> TestDiff/Reporter/AmbiguousType
<<< TestDiff/Reporter/AmbiguousPointer
(*int)(
- &⟪0xdeadf00f⟫0,
+ &⟪0xdeadf00f⟫0,
)
>>> TestDiff/Reporter/AmbiguousPointer
<<< TestDiff/Reporter/AmbiguousPointerStruct
struct{ I *int }{
- I: &⟪0xdeadf00f⟫0,
+ I: &⟪0xdeadf00f⟫0,
}
>>> TestDiff/Reporter/AmbiguousPointerStruct
<<< TestDiff/Reporter/AmbiguousPointerSlice
[]*int{
- &⟪0xdeadf00f⟫0,
+ &⟪0xdeadf00f⟫0,
}
>>> TestDiff/Reporter/AmbiguousPointerSlice
<<< TestDiff/Reporter/AmbiguousPointerMap
map[string]*int{
- "zero": &⟪0xdeadf00f⟫0,
+ "zero": &⟪0xdeadf00f⟫0,
}
>>> TestDiff/Reporter/AmbiguousPointerMap
<<< TestDiff/Reporter/AmbiguousStringer
interface{}(
- cmp_test.Stringer("hello"),
+ &cmp_test.Stringer("hello"),
)
>>> TestDiff/Reporter/AmbiguousStringer
<<< TestDiff/Reporter/AmbiguousStringerStruct
struct{ S fmt.Stringer }{
- S: cmp_test.Stringer("hello"),
+ S: &cmp_test.Stringer("hello"),
}
>>> TestDiff/Reporter/AmbiguousStringerStruct
<<< TestDiff/Reporter/AmbiguousStringerSlice
[]fmt.Stringer{
- cmp_test.Stringer("hello"),
+ &cmp_test.Stringer("hello"),
}
>>> TestDiff/Reporter/AmbiguousStringerSlice
<<< TestDiff/Reporter/AmbiguousStringerMap
map[string]fmt.Stringer{
- "zero": cmp_test.Stringer("hello"),
+ "zero": &cmp_test.Stringer("hello"),
}
>>> TestDiff/Reporter/AmbiguousStringerMap
<<< TestDiff/Reporter/AmbiguousSliceHeader
[]int(
- ⟪ptr:0xdeadf00f, len:0, cap:5⟫{},
+ ⟪ptr:0xdeadf00f, len:0, cap:1000⟫{},
)
>>> TestDiff/Reporter/AmbiguousSliceHeader
<<< TestDiff/Reporter/AmbiguousStringerMapKey
map[interface{}]string{
- nil: "nil",
+ &⟪0xdeadf00f⟫"github.com/google/go-cmp/cmp_test".Stringer("hello"): "goodbye",
- "github.com/google/go-cmp/cmp_test".Stringer("hello"): "goodbye",
- "github.com/google/go-cmp/cmp/internal/teststructs/foo1".Bar{S: "fizz"}: "buzz",
+ "github.com/google/go-cmp/cmp/internal/teststructs/foo2".Bar{S: "fizz"}: "buzz",
}
>>> TestDiff/Reporter/AmbiguousStringerMapKey
<<< TestDiff/Reporter/NonAmbiguousStringerMapKey
map[interface{}]string{
+ s"fizz": "buzz",
- s"hello": "goodbye",
}
>>> TestDiff/Reporter/NonAmbiguousStringerMapKey
<<< TestDiff/Reporter/InvalidUTF8
interface{}(
- cmp_test.MyString("\xed\xa0\x80"),
)
>>> TestDiff/Reporter/InvalidUTF8
<<< TestDiff/Reporter/UnbatchedSlice
cmp_test.MyComposite{
... // 3 identical fields
BytesB: nil,
BytesC: nil,
IntsA: []int8{
+ 10,
11,
- 12,
+ 21,
13,
14,
... // 15 identical elements
},
IntsB: nil,
IntsC: nil,
... // 6 identical fields
}
>>> TestDiff/Reporter/UnbatchedSlice
<<< TestDiff/Reporter/BatchedSlice
cmp_test.MyComposite{
... // 3 identical fields
BytesB: nil,
BytesC: nil,
IntsA: []int8{
- 10, 11, 12, 13, 14, 15, 16,
+ 12, 29, 13, 27, 22, 23,
17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29,
+ 10, 26, 16, 25, 28, 11, 15, 24, 14,
},
IntsB: nil,
IntsC: nil,
... // 6 identical fields
}
>>> TestDiff/Reporter/BatchedSlice
<<< TestDiff/Reporter/BatchedWithComparer
cmp_test.MyComposite{
StringA: "",
StringB: "",
BytesA: []uint8{
- 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, // -|.......|
+ 0x0c, 0x1d, 0x0d, 0x1b, 0x16, 0x17, // +|......|
0x11, 0x12, 0x13, 0x14, 0x15, // |.....|
- 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, // -|........|
+ 0x0a, 0x1a, 0x10, 0x19, 0x1c, 0x0b, 0x0f, 0x18, 0x0e, // +|.........|
},
BytesB: nil,
BytesC: nil,
... // 9 identical fields
}
>>> TestDiff/Reporter/BatchedWithComparer
<<< TestDiff/Reporter/BatchedLong
interface{}(
- cmp_test.MyComposite{IntsA: []int8{0, 1, 2, 3, 4, 5, 6, 7, ...}},
)
>>> TestDiff/Reporter/BatchedLong
<<< TestDiff/Reporter/BatchedNamedAndUnnamed
cmp_test.MyComposite{
StringA: "",
StringB: "",
BytesA: []uint8{
- 0x01, 0x02, 0x03, // -|...|
+ 0x03, 0x02, 0x01, // +|...|
},
BytesB: []cmp_test.MyByte{
- 0x04, 0x05, 0x06,
+ 0x06, 0x05, 0x04,
},
BytesC: cmp_test.MyBytes{
- 0x07, 0x08, 0x09, // -|...|
+ 0x09, 0x08, 0x07, // +|...|
},
IntsA: []int8{
- -1, -2, -3,
+ -3, -2, -1,
},
IntsB: []cmp_test.MyInt{
- -4, -5, -6,
+ -6, -5, -4,
},
IntsC: cmp_test.MyInts{
- -7, -8, -9,
+ -9, -8, -7,
},
UintsA: []uint16{
- 1000, 2000, 3000,
+ 3000, 2000, 1000,
},
UintsB: []cmp_test.MyUint{
- 4000, 5000, 6000,
+ 6000, 5000, 4000,
},
UintsC: cmp_test.MyUints{
- 7000, 8000, 9000,
+ 9000, 8000, 7000,
},
FloatsA: []float32{
- 1.5, 2.5, 3.5,
+ 3.5, 2.5, 1.5,
},
FloatsB: []cmp_test.MyFloat{
- 4.5, 5.5, 6.5,
+ 6.5, 5.5, 4.5,
},
FloatsC: cmp_test.MyFloats{
- 7.5, 8.5, 9.5,
+ 9.5, 8.5, 7.5,
},
}
>>> TestDiff/Reporter/BatchedNamedAndUnnamed
<<< TestDiff/Reporter/BinaryHexdump
cmp_test.MyComposite{
StringA: "",
StringB: "",
BytesA: []uint8{
0xf3, 0x0f, 0x8a, 0xa4, 0xd3, 0x12, 0x52, 0x09, 0x24, 0xbe, // |......R.$.|
- 0x58, 0x95, 0x41, 0xfd, 0x24, 0x66, 0x58, 0x8b, 0x79, // -|X.A.$fX.y|
0x54, 0xac, 0x0d, 0xd8, 0x71, 0x77, 0x70, 0x20, 0x6a, 0x5c, 0x73, 0x7f, 0x8c, 0x17, 0x55, 0xc0, // |T...qwp j\s...U.|
0x34, 0xce, 0x6e, 0xf7, 0xaa, 0x47, 0xee, 0x32, 0x9d, 0xc5, 0xca, 0x1e, 0x58, 0xaf, 0x8f, 0x27, // |4.n..G.2....X..'|
0xf3, 0x02, 0x4a, 0x90, 0xed, 0x69, 0x2e, 0x70, 0x32, 0xb4, 0xab, 0x30, 0x20, 0xb6, 0xbd, 0x5c, // |..J..i.p2..0 ..\|
0x62, 0x34, 0x17, 0xb0, 0x00, 0xbb, 0x4f, 0x7e, 0x27, 0x47, 0x06, 0xf4, 0x2e, 0x66, 0xfd, 0x63, // |b4....O~'G...f.c|
0xd7, 0x04, 0xdd, 0xb7, 0x30, 0xb7, 0xd1, // |....0..|
- 0x55, 0x7e, 0x7b, 0xf6, 0xb3, 0x7e, 0x1d, 0x57, 0x69, // -|U~{..~.Wi|
+ 0x75, 0x2d, 0x5b, 0x5d, 0x5d, 0xf6, 0xb3, 0x68, 0x61, 0x68, 0x61, 0x7e, 0x1d, 0x57, 0x49, // +|u-[]]..haha~.WI|
0x20, 0x9e, 0xbc, 0xdf, 0xe1, 0x4d, 0xa9, 0xef, 0xa2, 0xd2, 0xed, 0xb4, 0x47, 0x78, 0xc9, 0xc9, // | ....M......Gx..|
0x27, 0xa4, 0xc6, 0xce, 0xec, 0x44, 0x70, 0x5d, // |'....Dp]|
},
BytesB: nil,
BytesC: nil,
... // 9 identical fields
}
>>> TestDiff/Reporter/BinaryHexdump
<<< TestDiff/Reporter/StringHexdump
cmp_test.MyComposite{
StringA: "",
StringB: cmp_test.MyString{
- 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, // -|readme|
+ 0x67, 0x6f, 0x70, 0x68, 0x65, 0x72, // +|gopher|
0x2e, 0x74, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // |.txt............|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // |................|
... // 64 identical bytes
0x30, 0x30, 0x36, 0x30, 0x30, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, // |00600.0000000.00|
0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, // |00000.0000000004|
- 0x36, // -|6|
+ 0x33, // +|3|
0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x31, 0x31, // |.00000000000.011|
- 0x31, 0x37, 0x33, // -|173|
+ 0x32, 0x31, 0x37, // +|217|
0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // |. 0.............|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // |................|
... // 326 identical bytes
},
BytesA: nil,
BytesB: nil,
... // 10 identical fields
}
>>> TestDiff/Reporter/StringHexdump
<<< TestDiff/Reporter/BinaryString
cmp_test.MyComposite{
StringA: "",
StringB: "",
BytesA: bytes.Join({
`{"firstName":"John","lastName":"Smith","isAlive":true,"age":27,"`,
`address":{"streetAddress":"`,
- "314 54th Avenue",
+ "21 2nd Street",
`","city":"New York","state":"NY","postalCode":"10021-3100"},"pho`,
`neNumbers":[{"type":"home","number":"212 555-1234"},{"type":"off`,
... // 101 identical bytes
}, ""),
BytesB: nil,
BytesC: nil,
... // 9 identical fields
}
>>> TestDiff/Reporter/BinaryString
<<< TestDiff/Reporter/TripleQuote
cmp_test.MyComposite{
StringA: (
"""
aaa
bbb
- ccc
+ CCC
ddd
eee
... // 10 identical lines
ppp
qqq
- RRR
- sss
+ rrr
+ SSS
ttt
uuu
... // 6 identical lines
"""
),
StringB: "",
BytesA: nil,
... // 11 identical fields
}
>>> TestDiff/Reporter/TripleQuote
<<< TestDiff/Reporter/TripleQuoteSlice
[]string{
(
"""
... // 23 identical lines
xxx
yyy
- zzz
"""
),
"aaa\nbbb\nccc\nddd\neee\nfff\nggg\nhhh\niii\njjj\nkkk\nlll\nmmm\nnnn\nooo\nppp\n"...,
}
>>> TestDiff/Reporter/TripleQuoteSlice
<<< TestDiff/Reporter/TripleQuoteNamedTypes
cmp_test.MyComposite{
StringA: "",
StringB: (
"""
aaa
bbb
- ccc
+ CCC
ddd
eee
... // 10 identical lines
ppp
qqq
- RRR
- sss
+ rrr
+ SSS
ttt
uuu
... // 5 identical lines
"""
),
BytesA: nil,
BytesB: nil,
BytesC: cmp_test.MyBytes(
"""
aaa
bbb
- ccc
+ CCC
ddd
eee
... // 10 identical lines
ppp
qqq
- RRR
- sss
+ rrr
+ SSS
ttt
uuu
... // 5 identical lines
"""
),
IntsA: nil,
IntsB: nil,
... // 7 identical fields
}
>>> TestDiff/Reporter/TripleQuoteNamedTypes
<<< TestDiff/Reporter/TripleQuoteSliceNamedTypes
[]cmp_test.MyString{
(
"""
... // 23 identical lines
xxx
yyy
- zzz
"""
),
"aaa\nbbb\nccc\nddd\neee\nfff\nggg\nhhh\niii\njjj\nkkk\nlll\nmmm\nnnn\nooo\nppp\n"...,
}
>>> TestDiff/Reporter/TripleQuoteSliceNamedTypes
<<< TestDiff/Reporter/TripleQuoteEndlines
(
"""
aaa
bbb
- ccc
+ CCC
ddd
eee
... // 10 identical lines
ppp
qqq
- RRR
+ rrr
sss
ttt
... // 4 identical lines
yyy
zzz
-
"""
)
>>> TestDiff/Reporter/TripleQuoteEndlines
<<< TestDiff/Reporter/AvoidTripleQuoteAmbiguousQuotes
strings.Join({
"aaa",
"bbb",
- "ccc",
+ "CCC",
"ddd",
"eee",
- "fff",
+ `"""`,
"ggg",
"hhh",
... // 7 identical lines
"ppp",
"qqq",
- "RRR",
+ "rrr",
"sss",
"ttt",
... // 7 identical lines
}, "\n")
>>> TestDiff/Reporter/AvoidTripleQuoteAmbiguousQuotes
<<< TestDiff/Reporter/AvoidTripleQuoteAmbiguousEllipsis
strings.Join({
"aaa",
"bbb",
- "ccc",
- "...",
+ "CCC",
+ "ddd",
"eee",
"fff",
... // 9 identical lines
"ppp",
"qqq",
- "RRR",
+ "rrr",
"sss",
"ttt",
... // 7 identical lines
}, "\n")
>>> TestDiff/Reporter/AvoidTripleQuoteAmbiguousEllipsis
<<< TestDiff/Reporter/AvoidTripleQuoteNonPrintable
strings.Join({
"aaa",
"bbb",
- "ccc",
+ "CCC",
"ddd",
"eee",
... // 7 identical lines
"mmm",
"nnn",
- "ooo",
+ "o\roo",
"ppp",
"qqq",
- "RRR",
+ "rrr",
"sss",
"ttt",
... // 7 identical lines
}, "\n")
>>> TestDiff/Reporter/AvoidTripleQuoteNonPrintable
<<< TestDiff/Reporter/AvoidTripleQuoteIdenticalWhitespace
strings.Join({
"aaa",
"bbb",
- "ccc",
- " ddd",
+ "ccc ",
+ "ddd",
"eee",
"fff",
... // 9 identical lines
"ppp",
"qqq",
- "RRR",
+ "rrr",
"sss",
"ttt",
... // 7 identical lines
}, "\n")
>>> TestDiff/Reporter/AvoidTripleQuoteIdenticalWhitespace
<<< TestDiff/Reporter/TripleQuoteStringer
[]fmt.Stringer{
s"package main\n\nimport (\n\t\"fmt\"\n)\n\nfunc main() {\n\tfmt.Println(\"Hel"...,
- (
- s"""
- package main
-
- import (
- "fmt"
- "math/rand"
- )
-
- func main() {
- fmt.Println("My favorite number is", rand.Intn(10))
- }
- s"""
- ),
+ (
+ s"""
+ package main
+
+ import (
+ "fmt"
+ "math"
+ )
+
+ func main() {
+ fmt.Printf("Now you have %g problems.\n", math.Sqrt(7))
+ }
+ s"""
+ ),
}
>>> TestDiff/Reporter/TripleQuoteStringer
<<< TestDiff/Reporter/LimitMaximumBytesDiffs
[]uint8{
- 0xcd, 0x3d, 0x3d, 0x3d, 0x3d, 0x06, 0x1f, 0xc2, 0xcc, 0xc2, 0x2d, 0x53, // -|.====.....-S|
+ 0x5c, 0x3d, 0x3d, 0x3d, 0x3d, 0x7c, 0x96, 0xe7, 0x53, 0x42, 0xa0, 0xab, // +|\====|..SB..|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |=====|
- 0x1d, 0xdf, 0x61, 0xae, 0x98, 0x9f, 0x48, // -|..a...H|
+ 0xf0, 0xbd, 0xa5, 0x71, 0xab, 0x17, 0x3b, // +|...q..;|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |======|
- 0xc7, 0xb0, 0xb7, // -|...|
+ 0xab, 0x50, 0x00, // +|.P.|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |=======|
- 0xef, 0x3d, 0x3d, 0x3d, 0x3d, 0x3a, 0x5c, 0x94, 0xe6, 0x4a, 0xc7, // -|.====:\..J.|
+ 0xeb, 0x3d, 0x3d, 0x3d, 0x3d, 0xa5, 0x14, 0xe6, 0x4f, 0x28, 0xe4, // +|.====...O(.|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |=====|
- 0xb4, // -|.|
+ 0x28, // +|(|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |======|
- 0x0a, 0x0a, 0xf7, 0x94, // -|....|
+ 0x2f, 0x63, 0x40, 0x3f, // +|/c@?|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |===========|
- 0xf2, 0x9c, 0xc0, 0x66, // -|...f|
+ 0xd9, 0x78, 0xed, 0x13, // +|.x..|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |=====|
- 0x34, 0xf6, 0xf1, 0xc3, 0x17, 0x82, // -|4.....|
+ 0x4a, 0xfc, 0x91, 0x38, 0x42, 0x8d, // +|J..8B.|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |======|
- 0x6e, 0x16, 0x60, 0x91, 0x44, 0xc6, 0x06, // -|n.`.D..|
+ 0x61, 0x38, 0x41, 0xeb, 0x73, 0x04, 0xae, // +|a8A.s..|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |=======|
- 0x1c, 0x45, 0x3d, 0x3d, 0x3d, 0x3d, 0x2e, // -|.E====.|
+ 0x07, 0x43, 0x3d, 0x3d, 0x3d, 0x3d, 0x1c, // +|.C====.|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |===========|
- 0xc4, 0x18, // -|..|
+ 0x91, 0x22, // +|."|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |=======|
- 0x8a, 0x8d, 0x0e, 0x3d, 0x3d, 0x3d, 0x3d, 0x87, 0xb1, 0xa5, 0x8e, 0xc3, 0x3d, 0x3d, 0x3d, 0x3d, // -|...====.....====|
- 0x3d, 0x7a, 0x0f, 0x31, 0xae, 0x55, 0x3d, // -|=z.1.U=|
+ 0x75, 0xd8, 0xbe, 0x3d, 0x3d, 0x3d, 0x3d, 0x73, 0xec, 0x84, 0x35, 0x07, 0x3d, 0x3d, 0x3d, 0x3d, // +|u..====s..5.====|
+ 0x3d, 0x3b, 0xab, 0x53, 0x39, 0x74, // +|=;.S9t|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |=====|
- 0x47, 0x2c, 0x3d, // -|G,=|
+ 0x3d, 0x1f, 0x1b, // +|=..|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |======|
- 0x35, 0xe7, 0x35, 0xee, 0x82, 0xf4, 0xce, 0x3d, 0x3d, 0x3d, 0x3d, 0x11, 0x72, 0x3d, // -|5.5....====.r=|
+ 0x3d, 0x80, 0xab, 0x2f, 0xed, 0x2b, 0x3a, 0x3b, 0x3d, 0x3d, 0x3d, 0x3d, 0xea, 0x49, // +|=../.+:;====.I|
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, // |==========|
- 0xaf, 0x5d, 0x3d, // -|.]=|
+ 0x3d, 0xab, 0x6c, // +|=.l|
... // 51 identical, 34 removed, and 35 inserted bytes
}
>>> TestDiff/Reporter/LimitMaximumBytesDiffs
<<< TestDiff/Reporter/LimitMaximumStringDiffs
(
"""
- a
+ aa
b
- c
+ cc
d
- e
+ ee
f
- g
+ gg
h
- i
+ ii
j
- k
+ kk
l
- m
+ mm
n
- o
+ oo
p
- q
+ qq
r
- s
+ ss
t
- u
+ uu
v
- w
+ ww
x
- y
+ yy
z
- A
+ AA
B
- C
+ CC
D
- E
+ EE
... // 12 identical, 10 removed, and 10 inserted lines
"""
)
>>> TestDiff/Reporter/LimitMaximumStringDiffs
<<< TestDiff/Reporter/LimitMaximumSliceDiffs
[]struct{ S string }{
- {S: "a"},
+ {S: "aa"},
{S: "b"},
- {S: "c"},
+ {S: "cc"},
{S: "d"},
- {S: "e"},
+ {S: "ee"},
{S: "f"},
- {S: "g"},
+ {S: "gg"},
{S: "h"},
- {S: "i"},
+ {S: "ii"},
{S: "j"},
- {S: "k"},
+ {S: "kk"},
{S: "l"},
- {S: "m"},
+ {S: "mm"},
{S: "n"},
- {S: "o"},
+ {S: "oo"},
{S: "p"},
- {S: "q"},
+ {S: "qq"},
{S: "r"},
- {S: "s"},
+ {S: "ss"},
{S: "t"},
- {S: "u"},
+ {S: "uu"},
{S: "v"},
- {S: "w"},
+ {S: "ww"},
{S: "x"},
- {S: "y"},
+ {S: "yy"},
{S: "z"},
- {S: "A"},
+ {S: "AA"},
{S: "B"},
- {S: "C"},
+ {S: "CC"},
{S: "D"},
- {S: "E"},
+ {S: "EE"},
... // 12 identical and 10 modified elements
}
>>> TestDiff/Reporter/LimitMaximumSliceDiffs
<<< TestDiff/Reporter/MultilineString
cmp_test.MyComposite{
StringA: (
"""
- Package cmp determines equality of values.
+ Package cmp determines equality of value.
This package is intended to be a more powerful and safer alternative to
... // 6 identical lines
For example, an equality function may report floats as equal so long as they
are within some tolerance of each other.
-
- • Types that have an Equal method may use that method to determine equality.
- This allows package authors to determine the equality operation for the types
- that they define.
• If no custom equality functions are used and no Equal method is defined,
... // 3 identical lines
by using an Ignore option (see cmpopts.IgnoreUnexported) or explicitly compared
using the AllowUnexported option.
-
"""
),
StringB: "",
BytesA: nil,
... // 11 identical fields
}
>>> TestDiff/Reporter/MultilineString
<<< TestDiff/Reporter/Slices
cmp_test.MyComposite{
StringA: "",
StringB: "",
- BytesA: []uint8{0x01, 0x02, 0x03},
+ BytesA: nil,
- BytesB: []cmp_test.MyByte{0x04, 0x05, 0x06},
+ BytesB: nil,
- BytesC: cmp_test.MyBytes{0x07, 0x08, 0x09},
+ BytesC: nil,
- IntsA: []int8{-1, -2, -3},
+ IntsA: nil,
- IntsB: []cmp_test.MyInt{-4, -5, -6},
+ IntsB: nil,
- IntsC: cmp_test.MyInts{-7, -8, -9},
+ IntsC: nil,
- UintsA: []uint16{1000, 2000, 3000},
+ UintsA: nil,
- UintsB: []cmp_test.MyUint{4000, 5000, 6000},
+ UintsB: nil,
- UintsC: cmp_test.MyUints{7000, 8000, 9000},
+ UintsC: nil,
- FloatsA: []float32{1.5, 2.5, 3.5},
+ FloatsA: nil,
- FloatsB: []cmp_test.MyFloat{4.5, 5.5, 6.5},
+ FloatsB: nil,
- FloatsC: cmp_test.MyFloats{7.5, 8.5, 9.5},
+ FloatsC: nil,
}
>>> TestDiff/Reporter/Slices
<<< TestDiff/Reporter/EmptySlices
cmp_test.MyComposite{
StringA: "",
StringB: "",
- BytesA: []uint8{},
+ BytesA: nil,
- BytesB: []cmp_test.MyByte{},
+ BytesB: nil,
- BytesC: cmp_test.MyBytes{},
+ BytesC: nil,
- IntsA: []int8{},
+ IntsA: nil,
- IntsB: []cmp_test.MyInt{},
+ IntsB: nil,
- IntsC: cmp_test.MyInts{},
+ IntsC: nil,
- UintsA: []uint16{},
+ UintsA: nil,
- UintsB: []cmp_test.MyUint{},
+ UintsB: nil,
- UintsC: cmp_test.MyUints{},
+ UintsC: nil,
- FloatsA: []float32{},
+ FloatsA: nil,
- FloatsB: []cmp_test.MyFloat{},
+ FloatsB: nil,
- FloatsC: cmp_test.MyFloats{},
+ FloatsC: nil,
}
>>> TestDiff/Reporter/EmptySlices
<<< TestDiff/Reporter/LargeMapKey
map[*[]uint8]int{
- &⟪0xdeadf00f⟫⟪ptr:0xdeadf00f, len:1048576, cap:1048576⟫{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ...}: 0,
+ &⟪0xdeadf00f⟫⟪ptr:0xdeadf00f, len:1048576, cap:1048576⟫{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ...}: 0,
}
>>> TestDiff/Reporter/LargeMapKey
<<< TestDiff/Reporter/LargeStringInInterface
struct{ X interface{} }{
X: strings.Join({
... // 485 identical bytes
"s mus. Pellentesque mi lorem, consectetur id porttitor id, solli",
"citudin sit amet enim. Duis eu dolor magna. Nunc ut augue turpis",
- ".",
+ ",",
}, ""),
}
>>> TestDiff/Reporter/LargeStringInInterface
<<< TestDiff/Reporter/LargeBytesInInterface
struct{ X interface{} }{
X: bytes.Join({
... // 485 identical bytes
"s mus. Pellentesque mi lorem, consectetur id porttitor id, solli",
"citudin sit amet enim. Duis eu dolor magna. Nunc ut augue turpis",
- ".",
+ ",",
}, ""),
}
>>> TestDiff/Reporter/LargeBytesInInterface
<<< TestDiff/Reporter/LargeStandaloneString
struct{ X interface{} }{
- X: [1]string{
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sit amet pretium ligula, at gravida quam. Integer iaculis, velit at sagittis ultricies, lacus metus scelerisque turpis, ornare feugiat nulla nisl ac erat. Maecenas elementum ultricies libero, sed efficitur lacus molestie non. Nulla ac pretium dolor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque mi lorem, consectetur id porttitor id, sollicitudin sit amet enim. Duis eu dolor magna. Nunc ut augue turpis.",
- },
+ X: [1]string{
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sit amet pretium ligula, at gravida quam. Integer iaculis, velit at sagittis ultricies, lacus metus scelerisque turpis, ornare feugiat nulla nisl ac erat. Maecenas elementum ultricies libero, sed efficitur lacus molestie non. Nulla ac pretium dolor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque mi lorem, consectetur id porttitor id, sollicitudin sit amet enim. Duis eu dolor magna. Nunc ut augue turpis,",
+ },
}
>>> TestDiff/Reporter/LargeStandaloneString
<<< TestDiff/EmbeddedStruct/ParentStructA/Inequal
teststructs.ParentStructA{
privateStruct: teststructs.privateStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
}
>>> TestDiff/EmbeddedStruct/ParentStructA/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructB/Inequal
teststructs.ParentStructB{
PublicStruct: teststructs.PublicStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
}
>>> TestDiff/EmbeddedStruct/ParentStructB/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructC/Inequal
teststructs.ParentStructC{
privateStruct: teststructs.privateStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
- Public: 3,
+ Public: 4,
- private: 4,
+ private: 5,
}
>>> TestDiff/EmbeddedStruct/ParentStructC/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructD/Inequal
teststructs.ParentStructD{
PublicStruct: teststructs.PublicStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
- Public: 3,
+ Public: 4,
- private: 4,
+ private: 5,
}
>>> TestDiff/EmbeddedStruct/ParentStructD/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructE/Inequal
teststructs.ParentStructE{
privateStruct: teststructs.privateStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
PublicStruct: teststructs.PublicStruct{
- Public: 3,
+ Public: 4,
- private: 4,
+ private: 5,
},
}
>>> TestDiff/EmbeddedStruct/ParentStructE/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructF/Inequal
teststructs.ParentStructF{
privateStruct: teststructs.privateStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
PublicStruct: teststructs.PublicStruct{
- Public: 3,
+ Public: 4,
- private: 4,
+ private: 5,
},
- Public: 5,
+ Public: 6,
- private: 6,
+ private: 7,
}
>>> TestDiff/EmbeddedStruct/ParentStructF/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructG/Inequal
&teststructs.ParentStructG{
privateStruct: &teststructs.privateStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
}
>>> TestDiff/EmbeddedStruct/ParentStructG/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructH/Inequal
&teststructs.ParentStructH{
PublicStruct: &teststructs.PublicStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
}
>>> TestDiff/EmbeddedStruct/ParentStructH/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructI/Inequal
&teststructs.ParentStructI{
privateStruct: &teststructs.privateStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
PublicStruct: &teststructs.PublicStruct{
- Public: 3,
+ Public: 4,
- private: 4,
+ private: 5,
},
}
>>> TestDiff/EmbeddedStruct/ParentStructI/Inequal
<<< TestDiff/EmbeddedStruct/ParentStructJ/Inequal
&teststructs.ParentStructJ{
privateStruct: &teststructs.privateStruct{
- Public: 1,
+ Public: 2,
- private: 2,
+ private: 3,
},
PublicStruct: &teststructs.PublicStruct{
- Public: 3,
+ Public: 4,
- private: 4,
+ private: 5,
},
Public: teststructs.PublicStruct{
- Public: 7,
+ Public: 8,
- private: 8,
+ private: 9,
},
private: teststructs.privateStruct{
- Public: 5,
+ Public: 6,
- private: 6,
+ private: 7,
},
}
>>> TestDiff/EmbeddedStruct/ParentStructJ/Inequal
<<< TestDiff/EqualMethod/StructB/ValueInequal
teststructs.StructB{
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructB/ValueInequal
<<< TestDiff/EqualMethod/StructD/ValueInequal
teststructs.StructD{
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructD/ValueInequal
<<< TestDiff/EqualMethod/StructE/ValueInequal
teststructs.StructE{
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructE/ValueInequal
<<< TestDiff/EqualMethod/StructF/ValueInequal
teststructs.StructF{
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructF/ValueInequal
<<< TestDiff/EqualMethod/StructA1/ValueInequal
teststructs.StructA1{
StructA: {X: "NotEqual"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructA1/ValueInequal
<<< TestDiff/EqualMethod/StructA1/PointerInequal
&teststructs.StructA1{
StructA: {X: "NotEqual"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructA1/PointerInequal
<<< TestDiff/EqualMethod/StructB1/ValueInequal
teststructs.StructB1{
StructB: Inverse(Addr, &teststructs.StructB{X: "NotEqual"}),
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructB1/ValueInequal
<<< TestDiff/EqualMethod/StructB1/PointerInequal
&teststructs.StructB1{
StructB: Inverse(Addr, &teststructs.StructB{X: "NotEqual"}),
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructB1/PointerInequal
<<< TestDiff/EqualMethod/StructD1/ValueInequal
teststructs.StructD1{
- StructD: teststructs.StructD{X: "NotEqual"},
+ StructD: teststructs.StructD{X: "not_equal"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructD1/ValueInequal
<<< TestDiff/EqualMethod/StructE1/ValueInequal
teststructs.StructE1{
- StructE: teststructs.StructE{X: "NotEqual"},
+ StructE: teststructs.StructE{X: "not_equal"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructE1/ValueInequal
<<< TestDiff/EqualMethod/StructF1/ValueInequal
teststructs.StructF1{
- StructF: teststructs.StructF{X: "NotEqual"},
+ StructF: teststructs.StructF{X: "not_equal"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructF1/ValueInequal
<<< TestDiff/EqualMethod/StructA2/ValueInequal
teststructs.StructA2{
StructA: &{X: "NotEqual"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructA2/ValueInequal
<<< TestDiff/EqualMethod/StructA2/PointerInequal
&teststructs.StructA2{
StructA: &{X: "NotEqual"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructA2/PointerInequal
<<< TestDiff/EqualMethod/StructB2/ValueInequal
teststructs.StructB2{
StructB: &{X: "NotEqual"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructB2/ValueInequal
<<< TestDiff/EqualMethod/StructB2/PointerInequal
&teststructs.StructB2{
StructB: &{X: "NotEqual"},
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructB2/PointerInequal
<<< TestDiff/EqualMethod/StructNo/Inequal
teststructs.StructNo{
- X: "NotEqual",
+ X: "not_equal",
}
>>> TestDiff/EqualMethod/StructNo/Inequal
<<< TestDiff/Cycle/PointersInequal
&&⟪ref#0⟫cmp_test.P(
- &⟪ref#0⟫(...),
+ &&⟪ref#0⟫(...),
)
>>> TestDiff/Cycle/PointersInequal
<<< TestDiff/Cycle/SlicesInequal
cmp_test.S{
- ⟪ref#0⟫{⟪ref#0⟫(...)},
+ ⟪ref#1⟫{{⟪ref#1⟫(...)}},
}
>>> TestDiff/Cycle/SlicesInequal
<<< TestDiff/Cycle/MapsInequal
cmp_test.M⟪ref#0⟫{
- 0: ⟪ref#0⟫(...),
+ 0: {0: ⟪ref#0⟫(...)},
}
>>> TestDiff/Cycle/MapsInequal
<<< TestDiff/Cycle/GraphInequalZeroed
map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫{
Name: "Bar",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫{
- ID: 102,
+ ID: 0,
Name: "BarBuzzBravo",
Mods: 2,
Alphas: map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫(...),
"Buzz": &⟪ref#2⟫{
Name: "Buzz",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫(...),
"BuzzBarBravo": &⟪ref#3⟫{
- ID: 103,
+ ID: 0,
Name: "BuzzBarBravo",
Mods: 0,
Alphas: {"Bar": &⟪ref#0⟫(...), "Buzz": &⟪ref#2⟫(...)},
},
},
},
},
},
"BuzzBarBravo": &⟪ref#3⟫{
- ID: 103,
+ ID: 0,
Name: "BuzzBarBravo",
Mods: 0,
Alphas: map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫(...),
"Buzz": &⟪ref#2⟫{
Name: "Buzz",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫{
- ID: 102,
+ ID: 0,
Name: "BarBuzzBravo",
Mods: 2,
Alphas: {"Bar": &⟪ref#0⟫(...), "Buzz": &⟪ref#2⟫(...)},
},
"BuzzBarBravo": &⟪ref#3⟫(...),
},
},
},
},
},
},
"Buzz": &⟪ref#2⟫{
Name: "Buzz",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫{
- ID: 102,
+ ID: 0,
Name: "BarBuzzBravo",
Mods: 2,
Alphas: map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫{
Name: "Bar",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫(...),
"BuzzBarBravo": &⟪ref#3⟫{
- ID: 103,
+ ID: 0,
Name: "BuzzBarBravo",
Mods: 0,
Alphas: {"Bar": &⟪ref#0⟫(...), "Buzz": &⟪ref#2⟫(...)},
},
},
},
"Buzz": &⟪ref#2⟫(...),
},
},
"BuzzBarBravo": &⟪ref#3⟫{
- ID: 103,
+ ID: 0,
Name: "BuzzBarBravo",
Mods: 0,
Alphas: map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫{
Name: "Bar",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫{
- ID: 102,
+ ID: 0,
Name: "BarBuzzBravo",
Mods: 2,
Alphas: {"Bar": &⟪ref#0⟫(...), "Buzz": &⟪ref#2⟫(...)},
},
"BuzzBarBravo": &⟪ref#3⟫(...),
},
},
"Buzz": &⟪ref#2⟫(...),
},
},
},
},
"Foo": &⟪ref#4⟫{
Name: "Foo",
Bravos: map[string]*cmp_test.CycleBravo{
"FooBravo": &{
- ID: 101,
+ ID: 0,
Name: "FooBravo",
Mods: 100,
Alphas: {"Foo": &⟪ref#4⟫(...)},
},
},
},
}
>>> TestDiff/Cycle/GraphInequalZeroed
<<< TestDiff/Cycle/GraphInequalStruct
map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫{
Name: "Bar",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫{
ID: 102,
Name: "BarBuzzBravo",
Mods: 2,
Alphas: map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫(...),
"Buzz": &⟪ref#2⟫{
Name: "Buzz",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫(...),
"BuzzBarBravo": &⟪ref#3⟫{
ID: 103,
Name: "BuzzBarBravo",
Mods: 0,
- Alphas: nil,
+ Alphas: map[string]*cmp_test.CycleAlpha{"Bar": &⟪ref#0⟫(...), "Buzz": &⟪ref#2⟫(...)},
},
},
},
},
},
"BuzzBarBravo": &⟪ref#3⟫{
ID: 103,
Name: "BuzzBarBravo",
Mods: 0,
Alphas: map[string]*cmp_test.CycleAlpha{
"Bar": &⟪ref#0⟫(...),
"Buzz": &⟪ref#2⟫{
Name: "Buzz",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫{ID: 102, Name: "BarBuzzBravo", Mods: 2, Alphas: {"Bar": &⟪ref#0⟫(...), "Buzz": &⟪ref#2⟫(...)}},
- "BuzzBarBravo": &{ID: 103, Name: "BuzzBarBravo"},
+ "BuzzBarBravo": &⟪ref#3⟫(...),
},
},
},
},
},
},
"Buzz": &⟪ref#2⟫{
Name: "Buzz",
Bravos: map[string]*cmp_test.CycleBravo{
"BarBuzzBravo": &⟪ref#1⟫{ID: 102, Name: "BarBuzzBravo", Mods: 2, Alphas: {"Bar": &⟪ref#0⟫{Name: "Bar", Bravos: {"BarBuzzBravo": &⟪ref#1⟫(...), "BuzzBarBravo": &⟪ref#3⟫{ID: 103, Name: "BuzzBarBravo", Alphas: {"Bar": &⟪ref#0⟫(...), "Buzz": &⟪ref#2⟫(...)}}}}, "Buzz": &⟪ref#2⟫(...)}},
"BuzzBarBravo": &⟪ref#3⟫{
ID: 103,
Name: "BuzzBarBravo",
Mods: 0,
- Alphas: nil,
+ Alphas: map[string]*cmp_test.CycleAlpha{
+ "Bar": &⟪ref#0⟫{
+ Name: "Bar",
+ Bravos: map[string]*cmp_test.CycleBravo{"BarBuzzBravo": &⟪ref#1⟫{...}, "BuzzBarBravo": &⟪ref#3⟫(...)},
+ },
+ "Buzz": &⟪ref#2⟫(...),
+ },
},
},
},
"Foo": &⟪ref#4⟫{Name: "Foo", Bravos: {"FooBravo": &{ID: 101, Name: "FooBravo", Mods: 100, Alphas: {"Foo": &⟪ref#4⟫(...)}}}},
}
>>> TestDiff/Cycle/GraphInequalStruct
<<< TestDiff/Project1/ProtoInequal
teststructs.Eagle{
... // 4 identical fields
Dreamers: nil,
Prong: 0,
Slaps: []teststructs.Slap{
... // 2 identical elements
{},
{},
{
Name: "",
Desc: "",
DescLong: "",
- Args: s"metadata",
+ Args: s"metadata2",
Tense: 0,
Interval: 0,
... // 3 identical fields
},
},
StateGoverner: "",
PrankRating: "",
... // 2 identical fields
}
>>> TestDiff/Project1/ProtoInequal
<<< TestDiff/Project1/Inequal
teststructs.Eagle{
... // 2 identical fields
Desc: "some description",
DescLong: "",
Dreamers: []teststructs.Dreamer{
{},
{
... // 4 identical fields
ContSlaps: nil,
ContSlapsInterval: 0,
Animal: []interface{}{
teststructs.Goat{
Target: "corporation",
Slaps: nil,
FunnyPrank: "",
Immutable: &teststructs.GoatImmutable{
- ID: "southbay2",
+ ID: "southbay",
- State: &6,
+ State: &5,
Started: s"2009-11-10 23:00:00 +0000 UTC",
Stopped: s"0001-01-01 00:00:00 +0000 UTC",
... // 1 ignored and 1 identical fields
},
},
teststructs.Donkey{},
},
Ornamental: false,
Amoeba: 53,
... // 5 identical fields
},
},
Prong: 0,
Slaps: []teststructs.Slap{
{
... // 6 identical fields
Homeland: 0,
FunnyPrank: "",
Immutable: &teststructs.SlapImmutable{
ID: "immutableSlap",
Out: nil,
- MildSlap: false,
+ MildSlap: true,
PrettyPrint: "",
State: nil,
Started: s"2009-11-10 23:00:00 +0000 UTC",
Stopped: s"0001-01-01 00:00:00 +0000 UTC",
LastUpdate: s"0001-01-01 00:00:00 +0000 UTC",
LoveRadius: &teststructs.LoveRadius{
Summer: &teststructs.SummerLove{
Summary: &teststructs.SummerLoveSummary{
Devices: []string{
"foo",
- "bar",
- "baz",
},
ChangeType: {1, 2, 3},
... // 1 ignored field
},
... // 1 ignored field
},
... // 1 ignored field
},
... // 1 ignored field
},
},
},
StateGoverner: "",
PrankRating: "",
... // 2 identical fields
}
>>> TestDiff/Project1/Inequal
<<< TestDiff/Project2/InequalOrder
teststructs.GermBatch{
DirtyGerms: map[int32][]*testprotos.Germ{
17: {s"germ1"},
18: {
- s"germ2",
s"germ3",
s"germ4",
+ s"germ2",
},
},
CleanGerms: nil,
GermMap: {13: s"germ13", 21: s"germ21"},
... // 7 identical fields
}
>>> TestDiff/Project2/InequalOrder
<<< TestDiff/Project2/Inequal
teststructs.GermBatch{
DirtyGerms: map[int32][]*testprotos.Germ{
+ 17: {s"germ1"},
18: Inverse(Sort, []*testprotos.Germ{
s"germ2",
s"germ3",
- s"germ4",
}),
},
CleanGerms: nil,
GermMap: {13: s"germ13", 21: s"germ21"},
DishMap: map[int32]*teststructs.Dish{
0: &{err: e"EOF"},
- 1: nil,
+ 1: &{err: e"unexpected EOF"},
2: &{pb: s"dish"},
},
HasPreviousResult: true,
DirtyID: 10,
CleanID: 0,
- GermStrain: 421,
+ GermStrain: 22,
TotalDirtyGerms: 0,
InfectedAt: s"2009-11-10 23:00:00 +0000 UTC",
}
>>> TestDiff/Project2/Inequal
<<< TestDiff/Project3/Inequal
teststructs.Dirt{
- table: &teststructs.MockTable{state: []string{"a", "c"}},
+ table: &teststructs.MockTable{state: []string{"a", "b", "c"}},
ts: 12345,
- Discord: 554,
+ Discord: 500,
- Proto: testprotos.Dirt(Inverse(λ, s"blah")),
+ Proto: testprotos.Dirt(Inverse(λ, s"proto")),
wizard: map[string]*testprotos.Wizard{
- "albus": s"dumbledore",
- "harry": s"potter",
+ "harry": s"otter",
},
sadistic: nil,
lastTime: 54321,
... // 1 ignored field
}
>>> TestDiff/Project3/Inequal
<<< TestDiff/Project4/Inequal
teststructs.Cartel{
Headquarter: teststructs.Headquarter{
id: 5,
location: "moon",
subDivisions: []string{
- "alpha",
"bravo",
"charlie",
},
incorporatedDate: s"0001-01-01 00:00:00 +0000 UTC",
metaData: s"metadata",
privateMessage: nil,
publicMessage: []uint8{
0x01,
0x02,
- 0x03,
+ 0x04,
- 0x04,
+ 0x03,
0x05,
},
horseBack: "abcdef",
rattle: "",
... // 5 identical fields
},
source: "mars",
creationDate: s"0001-01-01 00:00:00 +0000 UTC",
boss: "al capone",
lastCrimeDate: s"0001-01-01 00:00:00 +0000 UTC",
poisons: []*teststructs.Poison{
&{
- poisonType: 1,
+ poisonType: 5,
expiration: s"2009-11-10 23:00:00 +0000 UTC",
manufacturer: "acme",
potency: 0,
},
- &{poisonType: 2, manufacturer: "acme2"},
},
}
>>> TestDiff/Project4/Inequal