/** * Test which verifies {@link UnsignedVariableBitLengthType#setBigInteger(BigInteger)} can set * UnsignedVariableBitLengthTypes with a {@code BigInteger} and still return a {@code long} value * that is in the correct range. */ @Test public void testSetBigInteger() { final UnsignedVariableBitLengthType ul = new UnsignedVariableBitLengthType(6347, 14); assertEquals(ul.get(), 6347); ul.setBigInteger(BigInteger.valueOf(15004l)); assertEquals(ul.get(), 15004l); ul.setBigInteger(BigInteger.valueOf(25625l)); assertEquals(ul.get(), 9241l); }
/** * Test which verifies {@link UnsignedVariableBitLengthType#getBigInteger()} returns the {@code * BigInteger} representation of an UnsignedVariableBitLengthType. */ @Test public void testGetBigInteger() { final UnsignedVariableBitLengthType l = new UnsignedVariableBitLengthType(1234l, 16); assertEquals(BigInteger.valueOf(1234l), l.getBigInteger()); final UnsignedVariableBitLengthType l2 = new UnsignedVariableBitLengthType(-196, 8); assertEquals(BigInteger.valueOf(60l), l2.getBigInteger()); final UnsignedVariableBitLengthType l3 = new UnsignedVariableBitLengthType(-9223372036854775807l, 64); assertEquals( BigInteger.valueOf(-9223372036854775807l).and(new BigInteger("FFFFFFFFFFFFFFFF", 16)), l3.getBigInteger()); }