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