import static org.hamcrest.CoreMatchers.is; import java.nio.charset.StandardCharsets; import org.junit.Assert; import org.junit.Test; public class MutableByteStringTest { @Test public void testReplaceEmpty() { MutableByteString str = new MutableByteString("hello".getBytes(StandardCharsets.UTF_8)); str.replace(new byte[]{}, new byte[]{'-'}); Assert.assertThat(str.toStringUtf8(), is("-h-e-l-l-o-")); } @Test public void testReplaceMultiple() { MutableByteString str = new MutableByteString("hello".getBytes(StandardCharsets.UTF_8)); str.replace(new byte[]{'l'}, new byte[]{'1', '2', '3'}); Assert.assertThat(str.toStringUtf8(), is("he123123o")); } @Test public void testToHexString() { MutableByteString str = new MutableByteString("hello".getBytes(StandardCharsets.UTF_8)); Assert.assertThat(str.toHexString(), is("68656c6c6f")); } @Test public void testAppend() { MutableByteString str = new MutableByteString("hello".getBytes(StandardCharsets.UTF_8)); str.append((byte) ','); str.append((byte) ' '); str.append((byte) 'w'); str.append((byte) 'o'); str.append((byte) 'r'); str.append((byte) 'l'); str.append((byte) 'd'); Assert.assertThat(str.toStringUtf8(), is("hello, world")); } @Test public void testSubstring() { MutableByteString str = new MutableByteString("hello, world".getBytes(StandardCharsets.UTF_8)); Assert.assertThat(str.substring(0, 5).toStringUtf8(), is("hello")); Assert.assertThat(str.substring(7, 12).toStringUtf8(), is("world")); } @Test public void testRegionEquals() { MutableByteString str = new MutableByteString("hello".getBytes(StandardCharsets.UTF_8)); Assert.assertThat(str.regionEquals(0, new MutableByteString(new byte[]{'h'}), 0, 1), is(true)); Assert.assertThat(str.regionEquals(0, new MutableByteString(new byte[]{'h'}), 0, 2), is(false)); } }