//
// Copyright (C) 2006 United States Government as represented by the
// Administrator of the National Aeronautics and Space Administration
// (NASA). All Rights Reserved.
//
// This software is distributed under the NASA Open Source Agreement
// (NOSA), version 1.3. The NOSA has been approved by the Open Source
// Initiative. See the file NOSA-1.3-JPF at the top of the distribution
// directory tree for the complete NOSA document.
//
// THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY
// KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
// LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
// SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
// A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT
// THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT
// DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE.
//
package gov.nasa.jpf.test.vm.basic;
import org.junit.Test;
import gov.nasa.jpf.util.test.TestJPF;
/**
* basic test of field access operations
*/
class TestFieldBase extends TestJPF {
static boolean s_base_Z = true;
static byte s_base_B = 16;
static char s_base_C = 'A';
static short s_base_S = 2048;
static int s_base_I = 0x8000;
static long s_base_J = 0x800000;
static float s_base_F = 1.23f;
static double s_base_D = 3.45;
static Object s_base_o = new String("a static string");
boolean base_Z = true;
byte base_B = 16;
char base_C = 'A';
short base_S = 2048;
int base_I = 0x8000;
long base_J = 0x800000;
float base_F = 1.23f;
double base_D = 3.45;
Object base_o = new String("a instance string");
}
public class FieldTest extends TestFieldBase {
boolean s_Z = s_base_Z;
byte s_B = s_base_B;
char s_C = s_base_C;
short s_S = s_base_S;
int s_I = s_base_I;
long s_J = s_base_J;
float s_F = s_base_F;
double s_D = s_base_D;
Object s_o = s_base_o;
boolean _Z = base_Z;
byte _B = base_B;
char _C = base_C;
short _S = base_S;
int _I = base_I;
long _J = base_J;
float _F = base_F;
double _D = base_D;
Object _o = base_o;
@Test public void testReadInstance () {
if (verifyNoPropertyViolation()) {
assert _Z == base_Z;
assert _Z == true;
assert _B == base_B;
assert _B == 16;
assert _C == base_C;
assert _C == 'A';
assert _I == base_I;
assert _I == 0x8000;
assert _J == base_J;
assert _J == 0x800000;
assert _F == base_F;
assert _F == 1.23f;
assert _D == base_D;
assert _D == 3.45;
assert _o.equals(base_o);
assert _o.equals("a instance string");
}
}
@Test public void testReadStatic () {
if (verifyNoPropertyViolation()) {
assert s_Z == s_base_Z;
assert s_Z == true;
assert s_B == s_base_B;
assert s_B == 16;
assert s_C == s_base_C;
assert s_C == 'A';
assert s_I == s_base_I;
assert s_I == 0x8000;
assert s_J == s_base_J;
assert s_J == 0x800000;
assert s_F == s_base_F;
assert s_F == 1.23f;
assert s_D == s_base_D;
assert s_D == 3.45;
assert s_o.equals(s_base_o);
assert s_o.equals("a static string");
}
}
@Test public void testWriteInstance () {
if (verifyNoPropertyViolation()) {
_Z = false;
assert _Z == false;
base_Z = _Z;
assert base_Z == _Z;
_B = 17;
assert _B == 17;
base_B = _B;
assert base_B == _B;
_C = 'B';
assert _C == 'B';
base_C = _C;
assert base_C == _C;
_I = 12345;
assert _I == 12345;
base_I = _I;
assert base_I == _I;
_J = 12345678;
assert _J == 12345678;
base_J = _J;
assert base_J == _J;
_F = 7.65f;
assert _F == 7.65f;
base_F = _F;
assert base_F == _F;
_D = 6.54;
assert _D == 6.54;
base_D = _D;
assert base_D == _D;
_o = new Integer(42);
assert _o.equals(new Integer(42));
base_o = _o;
assert base_o.equals(_o);
}
}
@Test public void testWriteStatic () {
if (verifyNoPropertyViolation()) {
s_Z = false;
assert s_Z == false;
s_base_Z = s_Z;
assert s_base_Z == s_Z;
s_B = 17;
assert s_B == 17;
s_base_B = s_B;
assert s_base_B == s_B;
s_C = 'B';
assert s_C == 'B';
s_base_C = s_C;
assert s_base_C == s_C;
s_I = 12345;
assert s_I == 12345;
s_base_I = s_I;
assert s_base_I == s_I;
s_J = 12345678;
assert s_J == 12345678;
s_base_J = s_J;
assert s_base_J == s_J;
s_F = 7.65f;
assert s_F == 7.65f;
s_base_F = s_F;
assert s_base_F == s_F;
s_D = 6.54;
assert s_D == 6.54;
s_base_D = s_D;
assert s_base_D == s_D;
s_o = new Integer(42);
assert s_o.equals(new Integer(42));
s_base_o = s_o;
assert s_base_o.equals(s_o);
}
}
}