blob: 3612a882181e2921692541152a3f219df57e37b9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2019 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
package org.eclipse.tracecompass.datastore.core.encoding;
import static org.junit.Assert.*;
import java.nio.ByteBuffer;
import java.util.PrimitiveIterator.OfLong;
import java.util.Random;
import org.junit.Test;
/**
* Test for HTVarInt
*
* @author David Piché
*
*/
public class HTVarIntTest {
private static final int LOOP_COUNT = 65535;
/**
* Test write long read long unsigned
*
*/
@Test
public void ReadWriteLongTestUnsigned() {
ByteBuffer bb = ByteBuffer.allocate(128);
Random r= new Random();
r.setSeed(0);
OfLong randomStream = r.longs(0L, Long.MAX_VALUE).iterator();
for (int i = 1; i < Long.BYTES; i++) {
for (int l = 0; l < LOOP_COUNT; l++) {
long value = randomStream.nextLong() >> (i * Byte.SIZE);
HTVarInt.writeLong(bb, value);
bb.position(0);
assertEquals(l + " " + Long.toHexString(value), value, HTVarInt.readLong(bb));
bb.position(0);
}
}
}
/**
* Test write long read long
*
*/
@Test
public void ReadWriteLongTest() {
ByteBuffer bb = ByteBuffer.allocate(128);
Random r= new Random();
r.setSeed(0);
for (int i = 1; i < Long.BYTES; i++) {
for (int l = 0; l < LOOP_COUNT; l++) {
long value = r.nextLong() >> (i * Byte.SIZE);
HTVarInt.writeLong(bb, value);
bb.position(0);
assertEquals(l + " " + Long.toHexString(value), value, HTVarInt.readLong(bb));
bb.position(0);
}
}
}
}