+++ /dev/null
-// Copyright 2017, 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.md file.
-
-package teststructs
-
-import (
- "sync"
-
- pb "github.com/google/go-cmp/cmp/internal/testprotos"
-)
-
-// This is an sanitized example of equality from a real use-case.
-// The original equality function was as follows:
-/*
-func equalDirt(x, y *Dirt) bool {
- if !reflect.DeepEqual(x.table, y.table) ||
- !reflect.DeepEqual(x.ts, y.ts) ||
- x.Discord != y.Discord ||
- !pb.Equal(&x.Proto, &y.Proto) ||
- len(x.wizard) != len(y.wizard) ||
- len(x.sadistic) != len(y.sadistic) ||
- x.lastTime != y.lastTime {
- return false
- }
- for k, vx := range x.wizard {
- vy, ok := y.wizard[k]
- if !ok || !pb.Equal(vx, vy) {
- return false
- }
- }
- for k, vx := range x.sadistic {
- vy, ok := y.sadistic[k]
- if !ok || !pb.Equal(vx, vy) {
- return false
- }
- }
- return true
-}
-*/
-
-type FakeMutex struct {
- sync.Locker
- x struct{}
-}
-
-type Dirt struct {
- table Table // Always concrete type of MockTable
- ts Timestamp
- Discord DiscordState
- Proto pb.Dirt
- wizard map[string]*pb.Wizard
- sadistic map[string]*pb.Sadistic
- lastTime int64
- mu FakeMutex
-}
-
-type DiscordState int
-
-type Timestamp int64
-
-func (d *Dirt) SetTable(t Table) { d.table = t }
-func (d *Dirt) SetTimestamp(t Timestamp) { d.ts = t }
-func (d *Dirt) SetWizard(m map[string]*pb.Wizard) { d.wizard = m }
-func (d *Dirt) SetSadistic(m map[string]*pb.Sadistic) { d.sadistic = m }
-func (d *Dirt) SetLastTime(t int64) { d.lastTime = t }
-
-type Table interface {
- Operation1() error
- Operation2() error
- Operation3() error
-}
-
-type MockTable struct {
- state []string
-}
-
-func CreateMockTable(s []string) *MockTable { return &MockTable{s} }
-func (mt *MockTable) Operation1() error { return nil }
-func (mt *MockTable) Operation2() error { return nil }
-func (mt *MockTable) Operation3() error { return nil }
-func (mt *MockTable) State() []string { return mt.state }