@Test
public void testUnionFields()
{

	try {
		final Value[][] values = new Value[][] {
			{new IntValue(56), null, new IntValue(-7628761)},
			{null, new StringValue("Hellow Test!"), null},
			
			{null, null, null, null, null, null, null, null},
			{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
			
			{new IntValue(56), new IntValue(56), new IntValue(56), new IntValue(56), null, null, null},
			{null, null, null, null, new IntValue(56), new IntValue(56), new IntValue(56)},
			
			{new IntValue(43), new IntValue(42), new IntValue(41)},
			{new IntValue(-463), new IntValue(-464), new IntValue(-465)}
		};
		
		for (int i = 0; i < values.length - 1; i += 2) {
			testUnionFieldsForValues(values[i], values[i+1], this.rand);
			testUnionFieldsForValues(values[i+1], values[i], this.rand);
		}
	} catch (Throwable t) {
		Assert.fail("Test failed due to an exception: " + t.getMessage());
	}
}