/*******************************************************************************
* Copyright (c) 2010 EclipseSource and others. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
package org.eclipse.swt.dnd;
import junit.framework.TestCase;
public class ByteArrayTransfer_Test extends TestCase {
public void testJavaToNative() {
ByteArrayTransfer transfer = new ByteArrayTransfer() {
protected String[] getTypeNames() {
return new String[] { "test-byte-transfer" };
}
protected int[] getTypeIds() {
return new int[] { Transfer.registerType( getTypeNames()[ 0 ] ) };
}
};
byte[] object = { 1, 2, 3 };
TransferData transferData = new TransferData();
transferData.type = transfer.getTypeIds()[ 0 ];
transfer.javaToNative( object, transferData );
byte[] nativeToJava = ( byte[] )transfer.nativeToJava( transferData );
assertEquals( 1, nativeToJava[ 0 ] );
assertEquals( 2, nativeToJava[ 1 ] );
assertEquals( 3, nativeToJava[ 2 ] );
}
public void testNativeToJavaWithIllegalTransferData() {
ByteArrayTransfer transfer = new ByteArrayTransfer() {
protected String[] getTypeNames() {
return new String[] { "test-byte-transfer" };
}
protected int[] getTypeIds() {
return new int[] { Transfer.registerType( getTypeNames()[ 0 ] ) };
}
};
TransferData transferData = new TransferData();
assertNull( transfer.nativeToJava( transferData ) );
transferData.type = transfer.getTypeIds()[ 0 ];
assertNull( transfer.nativeToJava( transferData ) );
}
public void testIsSupportedType() {
ByteArrayTransfer transfer = new ByteArrayTransfer() {
protected String[] getTypeNames() {
return new String[] { "test-byte-transfer" };
}
protected int[] getTypeIds() {
return new int[] { Transfer.registerType( getTypeNames()[ 0 ] ) };
}
};
assertFalse( transfer.isSupportedType( null ) );
assertFalse( transfer.isSupportedType( new TransferData() ) );
TransferData transferData = new TransferData();
transferData.type = transfer.getTypeIds()[ 0 ];
assertTrue( transfer.isSupportedType( transferData ) );
}
}