// ------------------------------------------------------------------

// Boolean.cs: Represents OCL testing for the Boolean STL type

// ------------------------------------------------------------------

// Project: C# and OCL Compiler

// Module:  Testing

// Author:  Dave Arnold

// Version: 1.0

// ------------------------------------------------------------------

 

// ------------------------------------------------------------------

// Imports

// ------------------------------------------------------------------

using System;

using System.Collections;

// ------------------------------------------------------------------

 

// ------------------------------------------------------------------

// DaveArnold.OCLTesting Namespace

// ------------------------------------------------------------------

namespace DaveArnold.OCLTesting

{

       // A Class to test the Boolean expressions

       class BooleanTests

       {

              OCL

              [

                     "context BooleanTests::_b1 : Boolean"

                     "init: true"

              ]

              private bool _b1;

             

              OCL

              [

                     "context BooleanTests::_b2 : Boolean"

                     "init: false"

              ]

              private bool _b2;

             

              OCL

              [

                     "context BooleanTests::_b3 : Boolean"

                     "init: false or false"

              ]

              private bool _b3;

             

              OCL

              [

                     "context BooleanTests::_b4 : Boolean"

                     "init: false or true"

              ]

              private bool _b4;

              OCL

              [

                     "context BooleanTests::_b5 : Boolean"

                     "init: true or false"

              ]

              private bool _b5;

              OCL

              [

                     "context BooleanTests::_b6 : Boolean"

                     "init: true or true"

              ]

              private bool _b6;

             

              OCL

              [

                     "context BooleanTests::_b7 : Boolean"

                     "init: false xor false"

              ]

              private bool _b7;

             

              OCL

              [

                     "context BooleanTests::_b8 : Boolean"

                     "init: false xor true"

              ]

              private bool _b8;

              OCL

              [

                     "context BooleanTests::_b9 : Boolean"

                     "init: true xor false"

              ]

              private bool _b9;

              OCL

              [

                     "context BooleanTests::_b10 : Boolean"

                     "init: true xor true"

              ]

              private bool _b10;        

              OCL

              [

                     "context BooleanTests::_b11 : Boolean"

                     "init: false and false"

              ]

              private bool _b11;

             

              OCL

              [

                     "context BooleanTests::_b12 : Boolean"

                     "init: false and true"

              ]

              private bool _b12;

              OCL

              [

                     "context BooleanTests::_b13 : Boolean"

                     "init: true and false"

              ]

              private bool _b13;

              OCL

              [

                     "context BooleanTests::_b14 : Boolean"

                     "init: true and true"

              ]

              private bool _b14;        

              OCL

              [

                     "context BooleanTests::_b15 : Boolean"

                     "init: false implies false"

              ]

              private bool _b15;

             

              OCL

              [

                     "context BooleanTests::_b16 : Boolean"

                     "init: false implies true"

              ]

              private bool _b16;

              OCL

              [

                     "context BooleanTests::_b17 : Boolean"

                     "init: true implies false"

              ]

              private bool _b17;

              OCL

              [

                     "context BooleanTests::_b18 : Boolean"

                     "init: true implies true"

              ]

              private bool _b18;

              OCL

              [

                     "context BooleanTests::_b19 : Boolean"

                     "init: not true"

              ]

              private bool _b19;

              OCL

              [

                     "context BooleanTests::_b20 : Boolean"

                     "init: not false"

              ]

              private bool _b20;

             

              OCL

              [

                     "context BooleanTests::_b3a : Boolean"

                     "init: false.or(false)"

              ]

              private bool _b3a;

             

              OCL

              [

                     "context BooleanTests::_b4a : Boolean"

                     "init: false.or(true)"

              ]

              private bool _b4a;

              OCL

              [

                     "context BooleanTests::_b5a : Boolean"

                     "init: true.or(false)"

              ]

              private bool _b5a;

              OCL

              [

                     "context BooleanTests::_b6a : Boolean"

                     "init: true.or(true)"

              ]

              private bool _b6a;

             

              OCL

              [

                     "context BooleanTests::_b7a : Boolean"

                     "init: false.xor(false)"

              ]

              private bool _b7a;

             

              OCL

              [

                     "context BooleanTests::_b8a : Boolean"

                     "init: false.xor(true)"

              ]

              private bool _b8a;

              OCL

              [

                     "context BooleanTests::_b9a : Boolean"

                     "init: true.xor(false)"

              ]

              private bool _b9a;

              OCL

              [

                     "context BooleanTests::_b10a : Boolean"

                     "init: true.xor(true)"

              ]

              private bool _b10a;       

              OCL

              [

                     "context BooleanTests::_b11a : Boolean"

                     "init: false.and(false)"

              ]

              private bool _b11a;

             

              OCL

              [

                     "context BooleanTests::_b12a : Boolean"

                     "init: false.and(true)"

              ]

              private bool _b12a;

              OCL

              [

                     "context BooleanTests::_b13a : Boolean"

                     "init: true.and(false)"

              ]

              private bool _b13a;

              OCL

              [

                     "context BooleanTests::_b14a : Boolean"

                     "init: true.and(true)"

              ]

              private bool _b14a;       

              OCL

              [

                     "context BooleanTests::_b15a : Boolean"

                     "init: false.implies(false)"

              ]

              private bool _b15a;

             

              OCL

              [

                     "context BooleanTests::_b16a : Boolean"

                     "init: false.implies(true)"

              ]

              private bool _b16a;

              OCL

              [

                     "context BooleanTests::_b17a : Boolean"

                     "init: true.implies(false)"

              ]

              private bool _b17a;

              OCL

              [

                     "context BooleanTests::_b18a : Boolean"

                     "init: true.implies(true)"

              ]

              private bool _b18a;

              OCL

              [

                     "context BooleanTests::_b19a : Boolean"

                     "init: true.not()"

              ]

              private bool _b19a;

              OCL

              [

                     "context BooleanTests::_b20a : Boolean"

                     "init: false.not()"

              ]

              private bool _b20a;

             

              OCL

              [

                     "context BooleanTests::_b21 : Boolean"

                     "init: false or false or false"

              ]

              private bool _b21;

             

              OCL

              [

                     "context BooleanTests::_b22 : Boolean"

                     "init: false or false or true"

              ]

              private bool _b22;

              OCL

              [

                     "context BooleanTests::_b23 : Boolean"

                     "init: false or true or false"

              ]

              private bool _b23;

              OCL

              [

                     "context BooleanTests::_b24 : Boolean"

                     "init: false or true or true"

              ]

              private bool _b24;

              OCL

              [

                     "context BooleanTests::_b25 : Boolean"

                     "init: true or false or false"

              ]

              private bool _b25;

             

              OCL

              [

                     "context BooleanTests::_b26 : Boolean"

                     "init: true or false or true"

              ]

              private bool _b26;

              OCL

              [

                     "context BooleanTests::_b27 : Boolean"

                     "init: true or true or false"

              ]

              private bool _b27;

              OCL

              [

                     "context BooleanTests::_b28 : Boolean"

                     "init: true or true or true"

              ]

              private bool _b28;

             

              OCL

              [

                     "context BooleanTests::_b21a : Boolean"

                     "init: false.or(false or false)"

              ]

              private bool _b21a;

             

              OCL

              [

                     "context BooleanTests::_b22a : Boolean"

                     "init: false.or(false or true)"

              ]

              private bool _b22a;

              OCL

              [

                     "context BooleanTests::_b23a : Boolean"

                     "init: false.or(true or false)"

              ]

              private bool _b23a;

              OCL

              [

                     "context BooleanTests::_b24a : Boolean"

                     "init: false.or(true or true)"

              ]

              private bool _b24a;

              OCL

              [

                     "context BooleanTests::_b25a : Boolean"

                     "init: true.or(false or false)"

              ]

              private bool _b25a;

             

              OCL

              [

                     "context BooleanTests::_b26a : Boolean"

                     "init: true.or(false or true)"

              ]

              private bool _b26a;

              OCL

              [

                     "context BooleanTests::_b27a : Boolean"

                     "init: true.or(true or false)"

              ]

              private bool _b27a;

              OCL

              [

                     "context BooleanTests::_b28a : Boolean"

                     "init: true.or(true or true)"

              ]

              private bool _b28a;

             

              OCL

              [

                     "context BooleanTests::_b21b : Boolean"

                     "init: false.or(false.or(false))"

              ]

              private bool _b21b;

             

              OCL

              [

                     "context BooleanTests::_b22b : Boolean"

                     "init: false.or(false.or(true))"

              ]

              private bool _b22b;

              OCL

              [

                     "context BooleanTests::_b23b : Boolean"

                     "init: false.or(true.or(false))"

              ]

              private bool _b23b;

              OCL

              [

                     "context BooleanTests::_b24b : Boolean"

                     "init: false.or(true.or(true))"

              ]

              private bool _b24b;

              OCL

              [

                     "context BooleanTests::_b25b : Boolean"

                     "init: true.or(false.or(false))"

              ]

              private bool _b25b;

             

              OCL

              [

                     "context BooleanTests::_b26b : Boolean"

                     "init: true.or(false.or(true))"

              ]

              private bool _b26b;

              OCL

              [

                     "context BooleanTests::_b27b : Boolean"

                     "init: true.or(true.or(false))"

              ]

              private bool _b27b;

              OCL

              [

                     "context BooleanTests::_b28b : Boolean"

                     "init: true.or(true.or(true))"

              ]

              private bool _b28b;

             

              OCL

              [

                     "context BooleanTests::_b29 : Boolean"

                     "init: false xor false xor false"

              ]

              private bool _b29;

             

              OCL

              [

                     "context BooleanTests::_b30 : Boolean"

                     "init: false xor false xor true"

              ]

              private bool _b30;

              OCL

              [

                     "context BooleanTests::_b31 : Boolean"

                     "init: false xor true xor false"

              ]

              private bool _b31;

              OCL

              [

                     "context BooleanTests::_b32 : Boolean"

                     "init: false xor true xor true"

              ]

              private bool _b32;

              OCL

              [

                     "context BooleanTests::_b33 : Boolean"

                     "init: true xor false xor false"

              ]

              private bool _b33;

             

              OCL

              [

                     "context BooleanTests::_b34 : Boolean"

                     "init: true xor false xor true"

              ]

              private bool _b34;

              OCL

              [

                     "context BooleanTests::_b35 : Boolean"

                     "init: true xor true xor false"

              ]

              private bool _b35;

              OCL

              [

                     "context BooleanTests::_b36 : Boolean"

                     "init: true xor true xor true"

              ]

              private bool _b36;

             

              OCL

              [

                     "context BooleanTests::_b29a : Boolean"

                     "init: false.xor(false xor false)"

              ]

              private bool _b29a;

             

              OCL

              [

                     "context BooleanTests::_b30a : Boolean"

                     "init: false.xor(false xor true)"

              ]

              private bool _b30a;

              OCL

              [

                     "context BooleanTests::_b31a : Boolean"

                     "init: false.xor(true xor false)"

              ]

              private bool _b31a;

              OCL

              [

                     "context BooleanTests::_b32a : Boolean"

                     "init: false.xor(true xor true)"

              ]

              private bool _b32a;

              OCL

              [

                     "context BooleanTests::_b33a : Boolean"

                     "init: true.xor(false xor false)"

              ]

              private bool _b33a;

             

              OCL

              [

                     "context BooleanTests::_b34a : Boolean"

                     "init: true.xor(false xor true)"

              ]

              private bool _b34a;

              OCL

              [

                     "context BooleanTests::_b35a : Boolean"

                     "init: true.xor(true xor false)"

              ]

              private bool _b35a;

              OCL

              [

                     "context BooleanTests::_b36a : Boolean"

                     "init: true.xor(true xor true)"

              ]

              private bool _b36a;

             

              OCL

              [

                     "context BooleanTests::_b29b : Boolean"

                     "init: false.xor(false.xor(false))"

              ]

              private bool _b29b;

             

              OCL

              [

                     "context BooleanTests::_b30b : Boolean"

                     "init: false.xor(false.xor(true))"

              ]

              private bool _b30b;

              OCL

              [

                     "context BooleanTests::_b31b : Boolean"

                     "init: false.xor(true.xor(false))"

              ]

              private bool _b31b;

              OCL

              [

                     "context BooleanTests::_b32b : Boolean"

                     "init: false.xor(true.xor(true))"

              ]

              private bool _b32b;

              OCL

              [

                     "context BooleanTests::_b33b : Boolean"

                     "init: true.xor(false.xor(false))"

              ]

              private bool _b33b;

             

              OCL

              [

                     "context BooleanTests::_b34b : Boolean"

                     "init: true.xor(false.xor(true))"

              ]

              private bool _b34b;

              OCL

              [

                     "context BooleanTests::_b35b : Boolean"

                     "init: true.xor(true.xor(false))"

              ]

              private bool _b35b;

              OCL

              [

                     "context BooleanTests::_b36b : Boolean"

                     "init: true.xor(true.xor(true))"

              ]

              private bool _b36b;       

              OCL

              [

                     "context BooleanTests::_b37 : Boolean"

                     "init: false and false and false"

              ]

              private bool _b37;

             

              OCL

              [

                     "context BooleanTests::_b38 : Boolean"

                     "init: false and false and true"

              ]

              private bool _b38;

              OCL

              [

                     "context BooleanTests::_b39 : Boolean"

                     "init: false and true and false"

              ]

              private bool _b39;

              OCL

              [

                     "context BooleanTests::_b40 : Boolean"

                     "init: false and true and true"

              ]

              private bool _b40;

              OCL

              [

                     "context BooleanTests::_b41 : Boolean"

                     "init: true and false and false"

              ]

              private bool _b41;

             

              OCL

              [

                     "context BooleanTests::_b42 : Boolean"

                     "init: true and false and true"

              ]

              private bool _b42;

              OCL

              [

                     "context BooleanTests::_b43 : Boolean"

                     "init: true and true and false"

              ]

              private bool _b43;

              OCL

              [

                     "context BooleanTests::_b44 : Boolean"

                     "init: true and true and true"

              ]

              private bool _b44;

             

              OCL

              [

                     "context BooleanTests::_b37a : Boolean"

                     "init: false.and(false and false)"

              ]

              private bool _b37a;

             

              OCL

              [

                     "context BooleanTests::_b38a : Boolean"

                     "init: false.and(false and true)"

              ]

              private bool _b38a;

              OCL

              [

                     "context BooleanTests::_b39a : Boolean"

                     "init: false.and(true and false)"

              ]

              private bool _b39a;

              OCL

              [

                     "context BooleanTests::_b40a : Boolean"

                     "init: false.and(true and true)"

              ]

              private bool _b40a;

              OCL

              [

                     "context BooleanTests::_b41a : Boolean"

                     "init: true.and(false and false)"

              ]

              private bool _b41a;

             

              OCL

              [

                     "context BooleanTests::_b42a : Boolean"

                     "init: true.and(false and true)"

              ]

              private bool _b42a;

              OCL

              [

                     "context BooleanTests::_b43a : Boolean"

                     "init: true.and(true and false)"

              ]

              private bool _b43a;

              OCL

              [

                     "context BooleanTests::_b44a : Boolean"

                     "init: true.and(true and true)"

              ]

              private bool _b44a;

             

              OCL

              [

                     "context BooleanTests::_b37b : Boolean"

                     "init: false.and(false.and(false))"

              ]

              private bool _b37b;

             

              OCL

              [

                     "context BooleanTests::_b38b : Boolean"

                     "init: false.and(false.and(true))"

              ]

              private bool _b38b;

              OCL

              [

                     "context BooleanTests::_b39b : Boolean"

                     "init: false.and(true.and(false))"

              ]

              private bool _b39b;

              OCL

              [

                     "context BooleanTests::_b40b : Boolean"

                     "init: false.and(true.and(true))"

              ]

              private bool _b40b;

              OCL

              [

                     "context BooleanTests::_b41b : Boolean"

                     "init: true.and(false.and(false))"

              ]

              private bool _b41b;

             

              OCL

              [

                     "context BooleanTests::_b42b : Boolean"

                     "init: true.and(false.and(true))"

              ]

              private bool _b42b;

              OCL

              [

                     "context BooleanTests::_b43b : Boolean"

                     "init: true.and(true.and(false))"

              ]

              private bool _b43b;

              OCL

              [

                     "context BooleanTests::_b44b : Boolean"

                     "init: true.and(true.and(true))"

              ]

              private bool _b44b;

             

              OCL

              [

                     "context BooleanTests::_b45 : Boolean"

                     "init: false implies false implies false"

              ]

              private bool _b45;

             

              OCL

              [

                     "context BooleanTests::_b46 : Boolean"

                     "init: false implies false implies true"

              ]

              private bool _b46;

              OCL

              [

                     "context BooleanTests::_b47 : Boolean"

                     "init: false implies true implies false"

              ]

              private bool _b47;

              OCL

              [

                     "context BooleanTests::_b48 : Boolean"

                     "init: false implies true implies true"

              ]

              private bool _b48;

              OCL

              [

                     "context BooleanTests::_b49 : Boolean"

                     "init: true implies false implies false"

              ]

              private bool _b49;

             

              OCL

              [

                     "context BooleanTests::_b50 : Boolean"

                     "init: true implies false implies true"

              ]

              private bool _b50;

              OCL

              [

                     "context BooleanTests::_b51 : Boolean"

                     "init: true implies true implies false"

              ]

              private bool _b51;

              OCL

              [

                     "context BooleanTests::_b52 : Boolean"

                     "init: true implies true implies true"

              ]

              private bool _b52;

             

              OCL

              [

                     "context BooleanTests::_b45a : Boolean"

                     "init: false.implies(false implies false)"

              ]

              private bool _b45a;

             

              OCL

              [

                     "context BooleanTests::_b46a : Boolean"

                     "init: false.implies(false implies true)"

              ]

              private bool _b46a;

              OCL

              [

                     "context BooleanTests::_b47a : Boolean"

                     "init: false.implies(true implies false)"

              ]

              private bool _b47a;

              OCL

              [

                     "context BooleanTests::_b48a : Boolean"

                     "init: false.implies(true implies true)"

              ]

              private bool _b48a;

              OCL

              [

                     "context BooleanTests::_b49a : Boolean"

                     "init: true.implies(false implies false)"

              ]

              private bool _b49a;

             

              OCL

              [

                     "context BooleanTests::_b50a : Boolean"

                     "init: true.implies(false implies true)"

              ]

              private bool _b50a;

              OCL

              [

                     "context BooleanTests::_b51a : Boolean"

                     "init: true.implies(true implies false)"

              ]

              private bool _b51a;

              OCL

              [

                     "context BooleanTests::_b52a : Boolean"

                     "init: true.implies(true implies true)"

              ]

              private bool _b52a;

             

              OCL

              [

                     "context BooleanTests::_b45b : Boolean"

                     "init: false.implies(false.implies(false))"

              ]

              private bool _b45b;

             

              OCL

              [

                     "context BooleanTests::_b46b : Boolean"

                     "init: false.implies(false.implies(true))"

              ]

              private bool _b46b;

              OCL

              [

                     "context BooleanTests::_b47b : Boolean"

                     "init: false.implies(true.implies(false))"

              ]

              private bool _b47b;

              OCL

              [

                     "context BooleanTests::_b48b : Boolean"

                     "init: false.implies(true.implies(true))"

              ]

              private bool _b48b;

              OCL

              [

                     "context BooleanTests::_b49b : Boolean"

                     "init: true.implies(false.implies(false))"

              ]

              private bool _b49b;

             

              OCL

              [

                     "context BooleanTests::_b50b : Boolean"

                     "init: true.implies(false.implies(true))"

              ]

              private bool _b50b;

              OCL

              [

                     "context BooleanTests::_b51b : Boolean"

                     "init: true.implies(true.implies(false))"

              ]

              private bool _b51b;

              OCL

              [

                     "context BooleanTests::_b52b : Boolean"

                     "init: true.implies(true.implies(true))"

              ]

              private bool _b52b;       

              OCL

              [

                     "context BooleanTests::_b53 : Boolean"

                     "init: not ( true and (false or (not false)))"

              ]

              private bool _b53;

             

              OCL

              [

                     "context BooleanTests::_b54 : Boolean"

                     "init: false = false"

              ]

              private bool _b54;

             

              OCL

              [

                     "context BooleanTests::_b55 : Boolean"

                     "init: true = false"

              ]

              private bool _b55;

             

              OCL

              [

                     "context BooleanTests::_b56 : Boolean"

                     "init: false = true"

              ]

              private bool _b56;

             

              OCL

              [

                     "context BooleanTests::_b57 : Boolean"

                     "init: true = true"

              ]

              private bool _b57;

             

              OCL

              [

                     "context BooleanTests::_b54a : Boolean"

                     "init: false.=(false)"

              ]

              private bool _b54a;

             

              OCL

              [

                     "context BooleanTests::_b55a : Boolean"

                     "init: true.=(false)"

              ]

              private bool _b55a;

             

              OCL

              [

                     "context BooleanTests::_b56a : Boolean"

                     "init: false.=(true)"

              ]

              private bool _b56a;

             

              OCL

              [

                     "context BooleanTests::_b57a : Boolean"

                     "init: true.=(true)"

              ]

              private bool _b57a;

             

              OCL

              [

                     "context BooleanTests::_b58 : Boolean"

                     "init: false <> false"

              ]

              private bool _b58;

             

              OCL

              [

                     "context BooleanTests::_b59 : Boolean"

                     "init: true <> false"

              ]

              private bool _b59;

             

              OCL

              [

                     "context BooleanTests::_b60 : Boolean"

                     "init: false <> true"

              ]

              private bool _b60;

             

              OCL

              [

                     "context BooleanTests::_b61 : Boolean"

                     "init: true <> true"

              ]

              private bool _b61;

             

              OCL

              [

                     "context BooleanTests::_b58a : Boolean"

                     "init: false.<>(false)"

              ]

              private bool _b58a;

             

              OCL

              [

                     "context BooleanTests::_b59a : Boolean"

                     "init: true.<>(false)"

              ]

              private bool _b59a;

             

              OCL

              [

                     "context BooleanTests::_b60a : Boolean"

                     "init: false.<>(true)"

              ]

              private bool _b60a;

             

              OCL

              [

                     "context BooleanTests::_b61a : Boolean"

                     "init: true.<>(true)"

              ]

              private bool _b61a;

 

 

             

              public void RunTests()

              {

                     Console.WriteLine("------------ BOOLEAN TESTS ------------");

                     Console.WriteLine("B1 (true): {0}", _b1);

                     Console.WriteLine("B2 (false): {0}", _b2);

                     Console.WriteLine("B3 (false or false): {0}", _b3);

                     Console.WriteLine("B4 (false or true): {0}", _b4);

                     Console.WriteLine("B5 (true or false): {0}", _b5);

                     Console.WriteLine("B6 (true or true): {0}", _b6);

                     Console.WriteLine("B7 (false xor false): {0}", _b7);

                     Console.WriteLine("B8 (false xor true): {0}", _b8);

                     Console.WriteLine("B9 (true xor false): {0}", _b9);

                     Console.WriteLine("B10 (true xor true): {0}", _b10);

                     Console.WriteLine("B11 (false and false): {0}", _b11);

                     Console.WriteLine("B12 (false and true): {0}", _b12);

                     Console.WriteLine("B13 (true and false): {0}", _b13);

                     Console.WriteLine("B14 (true and true): {0}", _b14);

                     Console.WriteLine("B15 (false implies false): {0}", _b15);

                     Console.WriteLine("B16 (false implies true): {0}", _b16);

                     Console.WriteLine("B17 (true implies false): {0}", _b17);

                     Console.WriteLine("B18 (true implies true): {0}", _b18);

                     Console.WriteLine("B19 (not true): {0}", _b19);

                     Console.WriteLine("B20 (not false): {0}", _b20);

                     Console.WriteLine("B3A (false.or(false)): {0}", _b3a);

                     Console.WriteLine("B4A (false.or(true)): {0}", _b4a);

                     Console.WriteLine("B5A (true.or(false)): {0}", _b5a);

                     Console.WriteLine("B6A (true.or(true)): {0}", _b6a);

                     Console.WriteLine("B7A (false.xor(false)): {0}", _b7a);

                     Console.WriteLine("B8A (false.xor(true)): {0}", _b8a);

                     Console.WriteLine("B9A (true.xor(false)): {0}", _b9a);

                     Console.WriteLine("B10A (true.xor(true)): {0}", _b10a);

                     Console.WriteLine("B11A (false.and(false)): {0}", _b11a);

                     Console.WriteLine("B12A (false.and(true)): {0}", _b12a);

                     Console.WriteLine("B13A (true.and(false)): {0}", _b13a);

                     Console.WriteLine("B14A (true.and(true)): {0}", _b14a);

                     Console.WriteLine("B15A (false.implies(false)): {0}", _b15a);

                     Console.WriteLine("B16A (false.implies(true)): {0}", _b16a);

                     Console.WriteLine("B17A (true.implies(false)): {0}", _b17a);

                     Console.WriteLine("B18A (true.implies(true)): {0}", _b18a);

                     Console.WriteLine("B19A (true.not()): {0}", _b19a);

                     Console.WriteLine("B20A (false.not()): {0}", _b20a);

                     Console.WriteLine("B21 (false or false or false): {0}", _b21);

                     Console.WriteLine("B22 (false or false or true): {0}", _b22);

                     Console.WriteLine("B23 (false or true or false): {0}", _b23);

                     Console.WriteLine("B24 (false or true or true): {0}", _b24);

                     Console.WriteLine("B25 (true or false or false): {0}", _b25);

                     Console.WriteLine("B26 (true or false or true): {0}", _b26);

                     Console.WriteLine("B27 (true or true or false): {0}", _b27);

                     Console.WriteLine("B28 (true or true or true): {0}", _b28);

                     Console.WriteLine("B21A (false.or(false or false)): {0}", _b21a);

                     Console.WriteLine("B22A (false.or(false or true)): {0}", _b22a);

                     Console.WriteLine("B23A (false.or(true or false)): {0}", _b23a);

                     Console.WriteLine("B24A (false.or(true or true)): {0}", _b24a);

                     Console.WriteLine("B25A (true.or(false or false)): {0}", _b25a);

                     Console.WriteLine("B26A (true.or(false or true)): {0}", _b26a);

                     Console.WriteLine("B27A (true.or(true or false)): {0}", _b27a);

                     Console.WriteLine("B28A (true.or(true or true)): {0}", _b28a);

                     Console.WriteLine("B21B (false.or(false.or(false))): {0}", _b21b);

                     Console.WriteLine("B22B (false.or(false.or(true))): {0}", _b22b);

                     Console.WriteLine("B23B (false.or(true.or(false))): {0}", _b23b);

                     Console.WriteLine("B24B (false.or(true.or(true))): {0}", _b24b);

                     Console.WriteLine("B25B (true.or(false.or(false))): {0}", _b25b);

                     Console.WriteLine("B26B (true.or(false.or(true))): {0}", _b26b);

                     Console.WriteLine("B27B (true.or(true.or(false))): {0}", _b27b);

                     Console.WriteLine("B28B (true.or(true.or(true))): {0}", _b28b);

                     Console.WriteLine("B29 (false xor false xor false): {0}", _b29);

                     Console.WriteLine("B30 (false xor false xor true): {0}", _b30);

                     Console.WriteLine("B31 (false xor true xor false): {0}", _b31);

                     Console.WriteLine("B32 (false xor true xor true): {0}", _b32);

                     Console.WriteLine("B33 (true xor false xor false): {0}", _b33);

                     Console.WriteLine("B34 (true xor false xor true): {0}", _b34);

                     Console.WriteLine("B35 (true xor true xor false): {0}", _b35);

                     Console.WriteLine("B36 (true xor true xor true): {0}", _b36);

                     Console.WriteLine("B29A (false.xor(false xor false)): {0}", _b29a);

                     Console.WriteLine("B30A (false.xor(false xor true)): {0}", _b30a);

                     Console.WriteLine("B31A (false.xor(true xor false)): {0}", _b31a);

                     Console.WriteLine("B32A (false.xor(true xor true)): {0}", _b32a);

                     Console.WriteLine("B33A (true.xor(false xor false)): {0}", _b33a);

                     Console.WriteLine("B34A (true.xor(false xor true)): {0}", _b34a);

                     Console.WriteLine("B35A (true.xor(true xor false)): {0}", _b35a);

                     Console.WriteLine("B36A (true.xor(true xor true)): {0}", _b36a);

                     Console.WriteLine("B29B (false.xor(false.xor(false))): {0}", _b29b);

                     Console.WriteLine("B30B (false.xor(false.xor(true))): {0}", _b30b);

                     Console.WriteLine("B31B (false.xor(true.xor(false))): {0}", _b31b);

                     Console.WriteLine("B32B (false.xor(true.xor(true))): {0}", _b32b);

                     Console.WriteLine("B33B (true.xor(false.xor(false))): {0}", _b33b);

                     Console.WriteLine("B34B (true.xor(false.xor(true))): {0}", _b34b);

                     Console.WriteLine("B35B (true.xor(true.xor(false))): {0}", _b35b);

                     Console.WriteLine("B36B (true.xor(true.xor(true))): {0}", _b36b);                 Console.WriteLine("B37 (false and false and false): {0}", _b37);

                     Console.WriteLine("B38 (false and false and true): {0}", _b38);

                     Console.WriteLine("B39 (false and true and false): {0}", _b39);

                     Console.WriteLine("B40 (false and true and true): {0}", _b40);

                     Console.WriteLine("B41 (true and false and false): {0}", _b41);

                     Console.WriteLine("B42 (true and false and true): {0}", _b42);

                     Console.WriteLine("B43 (true and true and false): {0}", _b43);

                     Console.WriteLine("B44 (true and true and true): {0}", _b44);

                     Console.WriteLine("B37A (false.and(false and false)): {0}", _b37a);

                     Console.WriteLine("B38A (false.and(false and true)): {0}", _b38a);

                     Console.WriteLine("B39A (false.and(true and false)): {0}", _b39a);

                     Console.WriteLine("B40A (false.and(true and true)): {0}", _b40a);

                     Console.WriteLine("B41A (true.and(false and false)): {0}", _b41a);

                     Console.WriteLine("B42A (true.and(false and true)): {0}", _b42a);

                     Console.WriteLine("B43A (true.and(true and false)): {0}", _b43a);

                     Console.WriteLine("B44A (true.and(true and true)): {0}", _b44a);

                     Console.WriteLine("B37B (false.and(false.and(false))): {0}", _b37b);

                     Console.WriteLine("B38B (false.and(false.and(true))): {0}", _b38b);

                     Console.WriteLine("B39B (false.and(true.and(false))): {0}", _b39b);

                     Console.WriteLine("B40B (false.and(true.and(true))): {0}", _b40b);

                     Console.WriteLine("B41B (true.and(false.and(false))): {0}", _b41b);

                     Console.WriteLine("B42B (true.and(false.and(true))): {0}", _b42b);

                     Console.WriteLine("B43B (true.and(true.and(false))): {0}", _b43b);

                     Console.WriteLine("B44B (true.and(true.and(true))): {0}", _b44b);                 Console.WriteLine("B45 (false implies false implies false): {0}", _b45);

                     Console.WriteLine("B46 (false implies false implies true): {0}", _b46);

                     Console.WriteLine("B47 (false implies true implies false): {0}", _b47);

                     Console.WriteLine("B48 (false implies true implies true): {0}", _b48);

                     Console.WriteLine("B49 (true implies false implies false): {0}", _b49);

                     Console.WriteLine("B50 (true implies false implies true): {0}", _b50);

                     Console.WriteLine("B51 (true implies true implies false): {0}", _b51);

                     Console.WriteLine("B52 (true implies true implies true): {0}", _b52);

                     Console.WriteLine("B45A (false.implies(false implies false)): {0}", _b45a);

                     Console.WriteLine("B46A (false.implies(false implies true)): {0}", _b46a);

                     Console.WriteLine("B47A (false.implies(true implies false)): {0}", _b47a);

                     Console.WriteLine("B48A (false.implies(true implies true)): {0}", _b48a);

                     Console.WriteLine("B49A (true.implies(false implies false)): {0}", _b49a);

                     Console.WriteLine("B50A (true.implies(false implies true)): {0}", _b50a);

                     Console.WriteLine("B51A (true.implies(true implies false)): {0}", _b51a);

                     Console.WriteLine("B52A (true.implies(true implies true)): {0}", _b52a);

                     Console.WriteLine("B45B (false.implies(false.implies(false))): {0}", _b45b);

                     Console.WriteLine("B46B (false.implies(false.implies(true))): {0}", _b46b);

                     Console.WriteLine("B47B (false.implies(true.implies(false))): {0}", _b47b);

                     Console.WriteLine("B48B (false.implies(true.implies(true))): {0}", _b48b);

                     Console.WriteLine("B49B (true.implies(false.implies(false))): {0}", _b49b);

                     Console.WriteLine("B50B (true.implies(false.implies(true))): {0}", _b50b);

                     Console.WriteLine("B51B (true.implies(true.implies(false))): {0}", _b51b);

                     Console.WriteLine("B52B (true.implies(true.implies(true))): {0}", _b52b);

                     Console.WriteLine("B53 (not ( true and (false or (not false)))): {0}", _b53);

                     Console.WriteLine("B54 (false = false): {0}", _b54);

                     Console.WriteLine("B55 (true = false): {0}", _b55);

                     Console.WriteLine("B56 (false = true): {0}", _b56);

                     Console.WriteLine("B57 (true = true): {0}", _b57);

                     Console.WriteLine("B54a (false.=(false)): {0}", _b54a);

                     Console.WriteLine("B55a (true.=(false)): {0}", _b55a);

                     Console.WriteLine("B56a (false.=(true)): {0}", _b56a);

                     Console.WriteLine("B57a (true.=(true)): {0}", _b57a);

                     Console.WriteLine("B58 (false <> false): {0}", _b58);

                     Console.WriteLine("B59 (true <> false): {0}", _b59);

                     Console.WriteLine("B60 (false <> true): {0}", _b60);

                     Console.WriteLine("B61 (true <> true): {0}", _b61);

                     Console.WriteLine("B58a (false.<>(false)): {0}", _b58a);

                     Console.WriteLine("B59a (true.<>(false)): {0}", _b59a);

                     Console.WriteLine("B60a (false.<>(true)): {0}", _b60a);

                     Console.WriteLine("B61a (true.<>(true)): {0}", _b61a);

                     Console.WriteLine("------------ BOOLEAN TESTS COMPLETE ------------");

              }

       }

}

 

// ------------------------------------------------------------------

// EOF