package org.vertx.testtools;
import org.junit.Assert;
import org.junit.Test;
import org.vertx.java.core.buffer.Buffer;
import java.lang.reflect.Array;
/**
* Tests for TestUtils
*/
public class TestUtilsTest {
@Test
public void testGenerateRandomBufferSimple() {
Buffer buffer = TestUtils.generateRandomBuffer(1000);
Assert.assertTrue("Buffer of unexpected size.", buffer.length() == 1000);
}
@Test
public void testGenerateRandomBuffer() {
// This isn't really a very good test, since we could generate
// a thousand random buffers that never include (byte)65 yet still
// not hit the edge case. But for completeness' sake, let's do this.
Buffer buffer = TestUtils.generateRandomBuffer(1000, true, (byte) 65);
Assert.assertTrue("Buffer of unexpected size.", buffer.length() == 1000);
for (int i = 0; i < 1000; i++) {
Assert.assertTrue("Buffer shouldn't contain (byte) 65", buffer.getByte(i) != 65);
}
}
@Test
public void testGenerateRandomByteArraySimple() {
byte[] buffer = TestUtils.generateRandomByteArray(1000);
Assert.assertTrue("Byte array of unexpected size.", buffer.length == 1000);
}
@Test
public void testGenerateRandomByteArray() {
// This isn't really a very good test, see above
byte[] buffer = TestUtils.generateRandomByteArray(1000, true, (byte) 65);
Assert.assertTrue("Buffer of unexpected size.", buffer.length == 1000);
for (int i = 0; i < 1000; i++) {
Assert.assertTrue("Buffer shouldn't contain (byte) 65", buffer[i] != 65);
}
}
@Test
public void testRandomUnicodeString() {
String string = TestUtils.randomUnicodeString(1000);
Assert.assertTrue("String of unexpected size.", string.length() == 1000);
for (int i = 0; i < 1000; i++) {
char c = string.charAt(i);
Assert.assertTrue("Non-unicode character found", c != 0xFFFE && c != 0xFFFF && (c > 0xD800 || c <= 0xDFFF));
}
}
@Test
public void testRandomAlphaString() {
String string = TestUtils.randomAlphaString(1000);
Assert.assertTrue("String of unexpected size.", string.length() == 1000);
for (int i = 0; i < 1000; i++) {
char c = string.charAt(i);
Assert.assertTrue("Non-alpha character found", c >= 65 && c <= 122);
}
}
@Test
public void testBuffersEqual() {
Buffer buffer1 = TestUtils.generateRandomBuffer(1000);
Buffer buffer2 = new Buffer();
Assert.assertTrue("Buffers should not be equal", !TestUtils.buffersEqual(buffer1, buffer2));
buffer2 = buffer1.copy();
Assert.assertTrue("Buffers should be equal", TestUtils.buffersEqual(buffer1, buffer2));
}
@Test
public void testByteArraysEqual() {
byte[] array1 = TestUtils.generateRandomByteArray(1000);
byte[] array2 = new byte[1000];
Assert.assertTrue("Arrays should not be equal", !TestUtils.byteArraysEqual(array1, array2));
array2 = array1.clone();
Assert.assertTrue("Arrays should be equal", TestUtils.byteArraysEqual(array1, array2));
}
}