diff options
Diffstat (limited to 'test/bigalg.go')
-rw-r--r-- | test/bigalg.go | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/test/bigalg.go b/test/bigalg.go deleted file mode 100644 index 902ba8410..000000000 --- a/test/bigalg.go +++ /dev/null @@ -1,117 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out - -// Copyright 2009 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 T struct { - a float64 - b int64 - c string - d byte -} - -var a = []int{ 1, 2, 3 } -var NIL []int - -func arraycmptest() { - if NIL != nil { - println("fail1:", NIL, "!= nil") - } - if nil != NIL { - println("fail2: nil !=", NIL) - } - if a == nil || nil == a { - println("fail3:", a, "== nil") - } -} - -func SameArray(a, b []int) bool { - if len(a) != len(b) || cap(a) != cap(b) { - return false - } - if len(a) > 0 && &a[0] != &b[0] { - return false - } - return true -} - -var t = T{1.5, 123, "hello", 255} -var mt = make(map[int]T) -var ma = make(map[int][]int) - -func maptest() { - mt[0] = t - t1 := mt[0] - if t1.a != t.a || t1.b != t.b || t1.c != t.c || t1.d != t.d { - println("fail: map val struct", t1.a, t1.b, t1.c, t1.d) - } - - ma[1] = a - a1 := ma[1] - if !SameArray(a, a1) { - println("fail: map val array", a, a1) - } -} - -var ct = make(chan T) -var ca = make(chan []int) - -func send() { - ct <- t - ca <- a -} - -func chantest() { - go send() - - t1 := <-ct - if t1.a != t.a || t1.b != t.b || t1.c != t.c || t1.d != t.d { - println("fail: map val struct", t1.a, t1.b, t1.c, t1.d) - } - - a1 := <-ca - if !SameArray(a, a1) { - println("fail: map val array", a, a1) - } -} - -type E struct { } -var e E - -func interfacetest() { - var i interface{} - - i = a - a1 := i.([]int) - if !SameArray(a, a1) { - println("interface <-> []int", a, a1) - } - pa := new([]int) - *pa = a - i = pa - a1 = *i.(*[]int) - if !SameArray(a, a1) { - println("interface <-> *[]int", a, a1) - } - - i = t - t1 := i.(T) - if t1.a != t.a || t1.b != t.b || t1.c != t.c || t1.d != t.d { - println("interface <-> struct", t1.a, t1.b, t1.c, t1.d) - } - - i = e - e1 := i.(E) - // nothing to check; just verify it doesn't crash - _ = e1 -} - -func main() { - arraycmptest() - maptest() - chantest() - interfacetest() -} |