Author: nextgens
Date: 2007-06-27 01:06:03 +0000 (Wed, 27 Jun 2007)
New Revision: 13773
Modified:
trunk/freenet/src/freenet/support/HexUtil.java
trunk/freenet/test/freenet/support/HexUtilTest.java
Log:
HexUtils: improve tests and comments
Modified: trunk/freenet/src/freenet/support/HexUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/HexUtil.java 2007-06-27 00:19:47 UTC
(rev 13772)
+++ trunk/freenet/src/freenet/support/HexUtil.java 2007-06-27 01:06:03 UTC
(rev 13773)
@@ -112,7 +112,7 @@
* Pack the bits in ba into a byte[].
*
* @param ba : the BitSet
- * @param size : How many bits shall be taken into account starting
from the MSB?
+ * @param size : How many bits shall be taken into account starting
from the LSB?
*/
public final static byte[] bitsToBytes(BitSet ba, int size) {
int bytesAlloc = countBytesForBits(size);
Modified: trunk/freenet/test/freenet/support/HexUtilTest.java
===================================================================
--- trunk/freenet/test/freenet/support/HexUtilTest.java 2007-06-27 00:19:47 UTC
(rev 13772)
+++ trunk/freenet/test/freenet/support/HexUtilTest.java 2007-06-27 01:06:03 UTC
(rev 13773)
@@ -281,15 +281,20 @@
byte[] expectedByteArray = new byte[1];
byte[] outputArray = new byte[1];
BitSet methodBitSet = new BitSet(8);
+
+ methodBitSet.flip(0); /* 0x01 */
+ expectedByteArray[0] = (byte)1;
+ outputArray = HexUtil.bitsToBytes(methodBitSet,0); /* 0x01 &
0x00 == 0x01 */
+ assertFalse(Arrays.equals(expectedByteArray,outputArray));
+ outputArray = HexUtil.bitsToBytes(methodBitSet,1); /* 0x01 &
0x01 == 0x01 */
+ assertTrue(Arrays.equals(expectedByteArray,outputArray));
+
+ methodBitSet.flip(7); /* 0x80 */
methodBitSet.flip(3); /* 0x08 */
- expectedByteArray[0] = (byte)8;
- outputArray = HexUtil.bitsToBytes(methodBitSet,0); /* 0x08 &
0x00 */
+ expectedByteArray[0] = (byte)128+8+1;
+ outputArray = HexUtil.bitsToBytes(methodBitSet,3); /* 0x89 &
0x08 == 0x89 */
assertFalse(Arrays.equals(expectedByteArray,outputArray));
- outputArray = HexUtil.bitsToBytes(methodBitSet,3); /* 0x08 &
0xe0 */
- assertFalse(Arrays.equals(expectedByteArray,outputArray));
- outputArray = HexUtil.bitsToBytes(methodBitSet,4); /* 0x08 &
0xf0 */
+ outputArray = HexUtil.bitsToBytes(methodBitSet,8); /* 0x89 &
0xff == 0x89 */
assertTrue(Arrays.equals(expectedByteArray,outputArray));
- outputArray = HexUtil.bitsToBytes(methodBitSet,8); /* 0x08 &
0xff */
- assertTrue(Arrays.equals(expectedByteArray,outputArray));
}
}