1#unittest { 2 name: "Bitwise and on a bool"; 3 error: NONE; 4 result: true; 5}; 6 7func b_and() { 8 var bool_ff = false & false; // false 9 var bool_tf = true & false; // false 10 var bool_ft = false & true; // false 11 var bool_tt = true & true; // true 12 13 return !bool_ff && !bool_tf && !bool_ft && bool_tt; 14} 15 16func b_or() { 17 var bool_ff = false | false; // false 18 var bool_tf = true | false; // true 19 var bool_ft = false | true; // true 20 var bool_tt = true | true; // true 21 22 return !bool_ff && bool_tf && bool_ft && bool_tt; 23} 24 25func b_xor() { 26 var bool_ff = false ^ false; // false 27 var bool_tf = true ^ false; // true 28 var bool_ft = false ^ true; // true 29 var bool_tt = true ^ true; // false 30 31 return !bool_ff && bool_tf && bool_ft && !bool_tt; 32} 33 34func main() { 35 return b_and() && b_or() && b_xor(); 36} 37 38