OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [go/] [printer/] [testdata/] [slow.golden] - Rev 747

Compare with Previous | Blame | View Log

// 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)
        }
}

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.