// Path: src/test/java/org/usb4java/javax/test/TCKRunner.java
// public class TCKRunner extends JUnit38ClassRunner
// {
//     /**
//      * Constructor.
//      * 
//      * @param testClass
//      *            The test class.
//      * @throws NoTestsRemainException
//      *             When no tests are to be run in this test class.
//      */
//     public TCKRunner(final Class<?> testClass) throws NoTestsRemainException
//     {
//         super(testClass);
//         try 
//         {
// 	        filter(new Filter()
// 	        {
// 	            @Override
// 	            public boolean shouldRun(Description description)
// 	            {
// 	                try
// 	                {
// 	                    UsbAssume.assumeTckTestsEnabled();
// 	                    return true;
// 	                }
// 	                catch (AssumptionViolatedException e)
// 	                {
// 	                    return false;
// 	                }
// 	            }
// 
// 	            @Override
// 	            public String describe()
// 	            {
// 	                return "TCK tests only when enabled";
// 	            }
// 	        });
//         }
//         catch (NoTestsRemainException e)
//         {
//             // This is expected when we filter out the whole test class
//         }
//     }
// }


import java.util.*;
import javax.usb.*;
import org.junit.runner.RunWith;
import org.usb4java.javax.test.TCKRunner;
import junit.framework.*;
                                                      IrpAcceptShortPacket, verifyAcceptShortPacket, OUTLength,  OUTOffset, OUTExpectedActualLength,
                                                      OUTExpectedException,
                                                      INLength, INOffset, INExpectedActualLength,
                                                      INExpectedException,
                                                      transformType );

                /*
                * next, send and/receive a packet of expected length with acceptShortPacket set to false; expect successful send
                */

                IrpAcceptShortPacket[0] = false;
                verifyAcceptShortPacket[0] = true;


                OUTLength[0] = 25;
                OUTOffset[0] = 0;
                OUTExpectedActualLength[0] = OUTLength[0];
                OUTExpectedException[0] = null;

                INLength[0] = 25;
                INOffset[0] = OUTOffset[0];
                INExpectedActualLength[0] = OUTLength[0];
                INExpectedException[0] = null;

                thisIOTest = new IOShortPacketTest(usbDevice, usbPipeListGlobal, endpointType, testType);
                thisIOTest.RoundTripIOTestShortPacket(testType, syncOrAsync, numberOfIrps, endpointmaxPacketSize,
                                                      IrpAcceptShortPacket, verifyAcceptShortPacket, OUTLength,  OUTOffset, OUTExpectedActualLength,
                                                      OUTExpectedException,
                                                      INLength, INOffset, INExpectedActualLength,
                                                      INExpectedException,
// Path: src/test/java/org/usb4java/javax/test/TCKRunner.java
// public class TCKRunner extends JUnit38ClassRunner
// {
//     /**
//      * Constructor.
//      * 
//      * @param testClass
//      *            The test class.
//      * @throws NoTestsRemainException
//      *             When no tests are to be run in this test class.
//      */
//     public TCKRunner(final Class<?> testClass) throws NoTestsRemainException
//     {
//         super(testClass);
//         try 
//         {
// 	        filter(new Filter()
// 	        {
// 	            @Override
// 	            public boolean shouldRun(Description description)
// 	            {
// 	                try
// 	                {
// 	                    UsbAssume.assumeTckTestsEnabled();
// 	                    return true;
// 	                }
// 	                catch (AssumptionViolatedException e)
// 	                {
// 	                    return false;
// 	                }
// 	            }
// 
// 	            @Override
// 	            public String describe()
// 	            {
// 	                return "TCK tests only when enabled";
// 	            }
// 	        });
//         }
//         catch (NoTestsRemainException e)
//         {
//             // This is expected when we filter out the whole test class
//         }
//     }
// }


// Path: src/test/java/javax/usb/tck/InterruptShortPacketIOTests.java
import java.util.*;
import javax.usb.*;
import org.junit.runner.RunWith;
import org.usb4java.javax.test.TCKRunner;
import junit.framework.*;

                                                      IrpAcceptShortPacket, verifyAcceptShortPacket, OUTLength,  OUTOffset, OUTExpectedActualLength,
                                                      OUTExpectedException,
                                                      INLength, INOffset, INExpectedActualLength,
                                                      INExpectedException,
                                                      transformType );

                /*
                * next, send and/receive a packet of expected length with acceptShortPacket set to false; expect successful send
                */

                IrpAcceptShortPacket[0] = false;
                verifyAcceptShortPacket[0] = true;


                OUTLength[0] = 25;
                OUTOffset[0] = 0;
                OUTExpectedActualLength[0] = OUTLength[0];
                OUTExpectedException[0] = null;

                INLength[0] = 25;
                INOffset[0] = OUTOffset[0];
                INExpectedActualLength[0] = OUTLength[0];
                INExpectedException[0] = null;

                thisIOTest = new IOShortPacketTest(usbDevice, usbPipeListGlobal, endpointType, testType);
                thisIOTest.RoundTripIOTestShortPacket(testType, syncOrAsync, numberOfIrps, endpointmaxPacketSize,
                                                      IrpAcceptShortPacket, verifyAcceptShortPacket, OUTLength,  OUTOffset, OUTExpectedActualLength,
                                                      OUTExpectedException,
                                                      INLength, INOffset, INExpectedActualLength,
                                                      INExpectedException,
                                                      transformType );