/* * Bug report from Jason Vallet */ package tests; import catg.CATG; public class test_q1_q4 { private static class test { // Variables // public boolean a; public boolean b; public boolean c; public boolean d; public boolean e; // Functions // private void ResetBool () { a = false; b = false; c = false; d = false; e = false; } public void q1_q4() { if (! (( ( b==true && a==true) || (b==true) || (e==true && b==true && a==true) || (c==true) || (d==true && e==true) ))) { System.out.println("Precondition Error on q1_q4"); } else { ResetBool(); d = true; e = true; c = true; if (! (( ( d==true) || (d==true && e==true && c==true) || (a==true) ))) { System.out.println("Postcondition Error on q1_q4"); } } } } public static void main (String[] args) { test current_class = new test(); // The following API calls (commented out) should not be used for making Boolean's symbolic, // because they do not restrict the possible values of a Boolean which is treated as int in Java bytecode // current_class.d = Main.readBool(false); // Main.MakeSymbolic(current_class.d); // current_class.e = Main.readBool(false); // Main.MakeSymbolic(current_class.e); // current_class.b = Main.readBool(false); // Main.MakeSymbolic(current_class.b); // current_class.c = Main.readBool(false); // Main.MakeSymbolic(current_class.c); // current_class.a = Main.readBool(false); // Main.MakeSymbolic(current_class.a); current_class.d = CATG.readBool(false); current_class.e = CATG.readBool(false); current_class.b = CATG.readBool(false); current_class.c = CATG.readBool(false); current_class.a = CATG.readBool(false); System.out.print("d = " + current_class.d + " ; "); System.out.print("e = " + current_class.e + " ; "); System.out.print("b = " + current_class.b + " ; "); System.out.print("c = " + current_class.c + " ; "); System.out.print("a = " + current_class.a + " ; "); System.out.print("\n"); //System.out.println("q1_q4()"); current_class.q1_q4(); System.out.print("d = " + current_class.d + " ; "); System.out.print("e = " + current_class.e + " ; "); System.out.print("b = " + current_class.b + " ; "); System.out.print("c = " + current_class.c + " ; "); System.out.print("a = " + current_class.a + " ; "); System.out.print("\n"); } }