### Question:
BytesValue extends Value implements IByteOperations { public BoolValue isSmallerThan(BytesValue value) throws Exception { return ValueContainer.getBoolValue(integerValue.compareTo(value.integerValue) < 0); } BytesValue(ASTNode type, /*String*/ byte[] value); int getBytesCount(); @Override ASTNode getType(); @Override ASTNode toASTNode(boolean forJavaScript); String toHexConstantString(); @Override Object toJSONRepresentation(); BoolValue isEqualTo(BytesValue other); BoolValue isNotEqualTo(BytesValue other); BoolValue isSmallerThan(BytesValue value); BoolValue isSmallerThanOrEqualTo(BytesValue value); BoolValue isGreaterThan(BytesValue value); BoolValue isGreaterThanOrEqualTo(BytesValue value); BytesValue negateBitwise(); BytesValue bitwiseOr(Value otherValue); BytesValue bitwiseAnd(Value otherValue); BytesValue bitwiseXor(Value otherValue); BytesValue bitwiseShiftLeft(Value value); BytesValue bitwiseShiftRight(Value value); BytesValue indexAccess(Value index); IntegerValue length(); BytesValue convertToBytesType(ASTElementaryTypeName newType); IntegerValue convertToIntegerType(ASTElementaryTypeName newType);  }### Answer:
@Test public void isSmallerThan() throws Exception { BytesTestValues[] a = new BytesTestValues[]{ new BytesTestValues("bytes1", new byte[]{b(0xff)}, null, 1, null), new BytesTestValues("bytes2", new byte[]{b(0xff), b(0x00)}, null, 2, null, false), new BytesTestValues("bytes1", new byte[]{b(0xff)}, null, 1, null), new BytesTestValues("bytes2", new byte[]{b(0xff), b(0x01)}, null, 2, null, true) }; for (int i = 0; i < a.length; i += 2) { BytesTestValues sourceData = a[i]; BytesTestValues targetData = a[i+1]; ASTElementaryTypeName sourceType = TypeContainer.getByteType(sourceData.typeBytes); ASTElementaryTypeName targetType = TypeContainer.getByteType(targetData.typeBytes); BytesValue source = new BytesValue(sourceType, sourceData.valueArray); BytesValue target = new BytesValue(targetType, targetData.valueArray); if (source.getBytesCount() != target.getBytesCount()) { source = source.convertToBytesType(targetType); } BoolValue resultValue = source.isSmallerThan(target); System.out.println("got " + resultValue.getValue() + " wanted " + targetData.boolValue); assert resultValue.getValue() == targetData.boolValue; } }