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