mirror of
https://github.com/golang/go
synced 2024-09-05 16:04:50 +00:00
108 lines
1.8 KiB
Go
108 lines
1.8 KiB
Go
// 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); }
|
|
}
|