|  | // run | 
|  |  | 
|  | // 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. | 
|  |  | 
|  | // Test basic operations on bool. | 
|  |  | 
|  | package main | 
|  |  | 
|  | type s struct { | 
|  | a	bool; | 
|  | b	bool; | 
|  | } | 
|  |  | 
|  | func | 
|  | main() { | 
|  | var a,b bool; | 
|  |  | 
|  | a = true; | 
|  | b = false; | 
|  |  | 
|  | if !a { panic(1); } | 
|  | if b { panic(2); } | 
|  | if !!!a { panic(3); } | 
|  | if !!b { panic(4); } | 
|  |  | 
|  | a = !b; | 
|  | if !a { panic(5); } | 
|  | if !!!a { panic(6); } | 
|  |  | 
|  | var x *s; | 
|  | x = new(s); | 
|  | x.a = true; | 
|  | x.b = false; | 
|  |  | 
|  | if !x.a { panic(7); } | 
|  | if x.b { panic(8); } | 
|  | if !!!x.a { panic(9); } | 
|  | if !!x.b { panic(10); } | 
|  |  | 
|  | x.a = !x.b; | 
|  | if !x.a { panic(11); } | 
|  | if !!!x.a { panic(12); } | 
|  |  | 
|  | /* | 
|  | * test && | 
|  | */ | 
|  | a = true; | 
|  | b = true; | 
|  | if !(a && b) { panic(21); } | 
|  | if a && !b { panic(22); } | 
|  | if !a && b { panic(23); } | 
|  | if !a && !b { panic(24); } | 
|  |  | 
|  | a = false; | 
|  | b = true; | 
|  | if !(!a && b) { panic(31); } | 
|  | if !a && !b { panic(32); } | 
|  | if a && b { panic(33); } | 
|  | if a && !b { panic(34); } | 
|  |  | 
|  | a = true; | 
|  | b = false; | 
|  | if !(a && !b) { panic(41); } | 
|  | if a && b { panic(41); } | 
|  | if !a && !b { panic(41); } | 
|  | if !a && b { panic(44); } | 
|  |  | 
|  | a = false; | 
|  | b = false; | 
|  | if !(!a && !b) { panic(51); } | 
|  | if !a && b { panic(52); } | 
|  | if a && !b { panic(53); } | 
|  | if a && b { panic(54); } | 
|  |  | 
|  | /* | 
|  | * test || | 
|  | */ | 
|  | a = true; | 
|  | b = true; | 
|  | if !(a || b) { panic(61); } | 
|  | if !(a || !b) { panic(62); } | 
|  | if !(!a || b) { panic(63); } | 
|  | if !a || !b { panic(64); } | 
|  |  | 
|  | a = false; | 
|  | b = true; | 
|  | if !(!a || b) { panic(71); } | 
|  | if !(!a || !b) { panic(72); } | 
|  | if !(a || b) { panic(73); } | 
|  | if a || !b { panic(74); } | 
|  |  | 
|  | a = true; | 
|  | b = false; | 
|  | if !(a || !b) { panic(81); } | 
|  | if !(a || b) { panic(82); } | 
|  | if !(!a || !b) { panic(83); } | 
|  | if !a || b { panic(84); } | 
|  |  | 
|  | a = false; | 
|  | b = false; | 
|  | if !(!a || !b) { panic(91); } | 
|  | if !(!a || b) { panic(92); } | 
|  | if !(a || !b) { panic(93); } | 
|  | if a || b { panic(94); } | 
|  | } |