package com.hoho.android.usbserial.driver; import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbEndpoint; import org.junit.Test; import java.io.IOException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class FtdiSerialDriverTest { private final UsbDevice usbDevice = mock(UsbDevice.class); private final UsbEndpoint readEndpoint = mock(UsbEndpoint.class); private void initBuf(byte[] buf) { for(int i=0; i {port.readFilter(buf, 1);}); initBuf(buf); len = port.readFilter(buf, 2); assertEquals(len, 0); initBuf(buf); len = port.readFilter(buf, 3); assertEquals(len, 1); assertTrue(testBuf(buf, len)); initBuf(buf); len = port.readFilter(buf, 4); assertEquals(len, 2); assertTrue(testBuf(buf, len)); initBuf(buf); len = port.readFilter(buf, 64); assertEquals(len, 62); assertTrue(testBuf(buf, len)); assertThrows(IOException.class, () -> {port.readFilter(buf, 65);}); initBuf(buf); len = port.readFilter(buf, 66); assertEquals(len, 62); assertTrue(testBuf(buf, len)); initBuf(buf); len = port.readFilter(buf, 68); assertEquals(len, 64); assertTrue(testBuf(buf, len)); initBuf(buf); len = port.readFilter(buf, 16*64+11); assertEquals(len, 16*62+9); assertTrue(testBuf(buf, len)); } }