// run | |
// Copyright 2018 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 main | |
type TestSuite struct { | |
Tests []Test | |
} | |
type Test struct { | |
Want interface{} | |
} | |
type Int struct { | |
i int | |
} | |
func NewInt(v int) Int { | |
return Int{i: v} | |
} | |
var Suites = []TestSuite{ | |
Dicts, | |
} | |
var Dicts = TestSuite{ | |
Tests: []Test{ | |
{ | |
Want: map[Int]bool{NewInt(1): true}, | |
}, | |
{ | |
Want: map[Int]string{ | |
NewInt(3): "3", | |
}, | |
}, | |
}, | |
} | |
func main() { | |
if Suites[0].Tests[0].Want.(map[Int]bool)[NewInt(3)] { | |
panic("bad") | |
} | |
} |