package org.jerlang.erts.emulator.op; import static org.junit.Assert.assertEquals; import org.jerlang.erts.Erlang; import org.jerlang.exception.ThrowException; import org.jerlang.type.Atom; import org.jerlang.type.Binary; import org.jerlang.type.List; import org.jerlang.type.Term; import org.junit.Test; public class BsSkipUtfTest extends AbstractOpTest { public BsSkipUtfTest() { super("bs_skip_utf.beam"); } @Test public void test_bs_skip_utf8() throws ThrowException { Binary expected = new Binary(new int[] { 'B' }); List params = List.of(new Binary(new int[] { 'A', 'B' })); Term result = Erlang.apply(Atom.of("bs_skip_utf"), Atom.of("test8"), params); assertEquals(expected, result); } @Test public void test_bs_skip_utf16() throws ThrowException { Binary expected = new Binary(new int[] { 'B' }); List params = List.of(new Binary(new int[] { 0, 65, 'B' })); Term result = Erlang.apply(Atom.of("bs_skip_utf"), Atom.of("test16"), params); assertEquals(expected, result); } @Test public void test_bs_skip_utf32() throws ThrowException { Binary expected = new Binary(new int[] { 'B' }); List params = List.of(new Binary(new int[] { 0, 0, 0, 65, 'B' })); Term result = Erlang.apply(Atom.of("bs_skip_utf"), Atom.of("test32"), params); assertEquals(expected, result); } }