summaryrefslogtreecommitdiffstats
path: root/src/go/printer/testdata/slow.golden
blob: 43a15cb1d0815757dd8f3b61804e77143fb5ce3b (plain)
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
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package deepequal_test

import (
	"testing"
	"google3/spam/archer/frontend/deepequal"
)

func TestTwoNilValues(t *testing.T) {
	if err := deepequal.Check(nil, nil); err != nil {
		t.Errorf("expected nil, saw %v", err)
	}
}

type Foo struct {
	bar	*Bar
	bang	*Bar
}

type Bar struct {
	baz	*Baz
	foo	[]*Foo
}

type Baz struct {
	entries		map[int]interface{}
	whatever	string
}

func newFoo() *Foo {
	return &Foo{bar: &Bar{baz: &Baz{
		entries: map[int]interface{}{
			42:	&Foo{},
			21:	&Bar{},
			11:	&Baz{whatever: "it's just a test"}}}},
		bang: &Bar{foo: []*Foo{
			&Foo{bar: &Bar{baz: &Baz{
				entries: map[int]interface{}{
					43:	&Foo{},
					22:	&Bar{},
					13:	&Baz{whatever: "this is nuts"}}}},
				bang: &Bar{foo: []*Foo{
					&Foo{bar: &Bar{baz: &Baz{
						entries: map[int]interface{}{
							61:	&Foo{},
							71:	&Bar{},
							11:	&Baz{whatever: "no, it's Go"}}}},
						bang: &Bar{foo: []*Foo{
							&Foo{bar: &Bar{baz: &Baz{
								entries: map[int]interface{}{
									0:	&Foo{},
									-2:	&Bar{},
									-11:	&Baz{whatever: "we need to go deeper"}}}},
								bang: &Bar{foo: []*Foo{
									&Foo{bar: &Bar{baz: &Baz{
										entries: map[int]interface{}{
											-2:	&Foo{},
											-5:	&Bar{},
											-7:	&Baz{whatever: "are you serious?"}}}},
										bang:	&Bar{foo: []*Foo{}}},
									&Foo{bar: &Bar{baz: &Baz{
										entries: map[int]interface{}{
											-100:	&Foo{},
											50:	&Bar{},
											20:	&Baz{whatever: "na, not really ..."}}}},
										bang:	&Bar{foo: []*Foo{}}}}}}}}},
					&Foo{bar: &Bar{baz: &Baz{
						entries: map[int]interface{}{
							2:	&Foo{},
							1:	&Bar{},
							-1:	&Baz{whatever: "... it's just a test."}}}},
						bang:	&Bar{foo: []*Foo{}}}}}}}}}
}

func TestElaborate(t *testing.T) {
	a := newFoo()
	b := newFoo()

	if err := deepequal.Check(a, b); err != nil {
		t.Errorf("expected nil, saw %v", err)
	}
}