package Jade.Testcases;

class O {
    int field1;
    int field2;

    O() {
	field1 = 0;
	field2 = 0;
    }
    
    O(int x, int y) {
	field1 = x;
	field2 = y;
    }
}

class ifTest {

    public static int test1(int a, int b) {
	int i;
	i = 0;
	if (a>0) {
	    i = 2*i; // should be i = 2*b;
	}
	return i;
    }
	    

    public static int test2(int a, int b) {
	int i;
	if(a>0) {
	    i = 2*b;
	}
	else {
	    i = 3*b; // should be i = 4*b;
	}
	return i;
    }

     public static int test3(int a, int b) {
	int i;
	if (a>0) {
	    if (b>0) {
		i = 1;
	    }
	    else {
		i = 2;
	    }
	}
	else {
	    if (b>0) {
		i = 3; // i = 10;
	    }
	    else {
		i = 4;
	    }
	}
	return i;
    }

    public static O test4(int a, int b, int c) {
	O i;
	i = new O(a,b);
	if (c>0) {
	    i.field1 = a*2;
	    i.field2 = b*3; // should be i.field2 = b*4;
	}
	return i;
    }

     public static O test5(int a, int b, int c) {
	O i;
	i = new O();
	if (c>0) {
	    i.field1 = a*2;
	    i.field2 = b*2;
	}
	else {
	    i.field1 = a*3;
	    i.field2 = b*3; //should be i.field2 = 10;
	}
	return i;
    }

     public static O test6(int a, int b, int c , int d) {
	O i;
	i = new O();
	if (c>0) {
	    if (d>0) {
		i.field1 = a;
		i.field2 = b;
	    }
	    else {
		i.field1 = a;
	    }
	}
	else {
	    if (d>0) {
		i.field2 = a; // should be i.field2 = b;
	    }
	    else {
		i.field1 = -1;
		i.field1 = -1;
	    }
	}
	return i;
    }
}
