package com.sun.jna.platform.win32;
import junit.framework.TestCase;
import com.sun.jna.platform.win32.Guid.GUID;
// TODO: Auto-generated Javadoc
/**
* The Class GuidTest.
*/
public class GuidTest extends TestCase {
/**
* The main method.
*
* @param args
* the arguments
*/
public static void main(String[] args) {
junit.textui.TestRunner.run(GuidTest.class);
}
/**
* Instantiates a new guid test.
*/
public GuidTest() {
}
/**
* Loads a GUID from string and verify that the guid returned has the
* expected values in each byte.
*/
public void testGUIDFromString() {
String sourceGuidStr = "{A5DCBF10-6530-11D2-901F-00C04FB951ED}";
// test loading via static method
GUID targetGuid = GUID.fromString(sourceGuidStr);
assertEquals(targetGuid.toGuidString(), sourceGuidStr);
}
/**
* Loads a GUID from string via the constructor and verify that the guid
* returned has the expected values in each byte.
*/
public void testGUIDFromString2() {
String sourceGuidStr = "{A5DCBF10-6530-11D2-901F-00C04FB951ED}";
// test loading via constructor
GUID targetGuid = new GUID(sourceGuidStr);
assertEquals(targetGuid.toGuidString(), sourceGuidStr);
}
/**
* Loads a GUID from a byte array and verify that the guid returned has the
* expected values in each byte.
*/
public void testGUIDFromBinary() {
byte[] sourceGuidBArr = new byte[] { (byte) 0xA5, (byte) 0xDC,
(byte) 0xBF, (byte) 0x10, (byte) 0x65, (byte) 0x30,
(byte) 0x11, (byte) 0xD2, (byte) 0x90, (byte) 0x1F,
(byte) 0x00, (byte) 0xC0, (byte) 0x4F, (byte) 0xB9,
(byte) 0x51, (byte) 0xED };
// test loading via static method
GUID targetGuid = GUID.fromBinary(sourceGuidBArr);
byte[] targetGuidBArr = targetGuid.toByteArray();
for (int i = 0; i < sourceGuidBArr.length; i++) {
assertEquals(targetGuidBArr[i], sourceGuidBArr[i]);
}
}
/**
* Loads a GUID from a byte array via the constructor and verify that the
* guid returned has the expected values in each byte.
*/
public void testGUIDFromBinary2() {
byte[] sourceGuidBArr = new byte[] { (byte) 0xA5, (byte) 0xDC,
(byte) 0xBF, (byte) 0x10, (byte) 0x65, (byte) 0x30,
(byte) 0x11, (byte) 0xD2, (byte) 0x90, (byte) 0x1F,
(byte) 0x00, (byte) 0xC0, (byte) 0x4F, (byte) 0xB9,
(byte) 0x51, (byte) 0xED };
// test loading via constructor
GUID targetGuid = new GUID(sourceGuidBArr);
byte[] targetGuidBArr = targetGuid.toByteArray();
for (int i = 0; i < sourceGuidBArr.length; i++) {
assertEquals(targetGuidBArr[i], sourceGuidBArr[i]);
}
}
/**
* Instantiates two guids, one with windows build-in function and one via
* jna and compares it.
*/
public void testBehaviourWithOle32() {
GUID ole32Guid = Ole32Util.getGUIDFromString("{A5DCBF10-6530-11D2-901F-00C04FB951ED}");
GUID jnaGuid = new GUID("{A5DCBF10-6530-11D2-901F-00C04FB951ED}");
assertEquals(ole32Guid, jnaGuid);
}
/**
* Test with the windows build-in function, compares the result of the
* methods.
*/
public void testBehaviourWithOle32_2() {
GUID ole32Guid = Ole32Util
.getGUIDFromString("{A5DCBF10-6530-11D2-901F-00C04FB951ED}");
GUID jnaGuid = new GUID("{A5DCBF10-6530-11D2-901F-00C04FB951ED}");
String ole32Guidstr = Ole32Util.getStringFromGUID(ole32Guid);
String jnaGuidStr = jnaGuid.toGuidString();
assertEquals(ole32Guidstr, jnaGuidStr);
}
/**
* Tests the new guid with the build-in function coming with windows.
*/
public void testNewGuid() {
GUID newGuid = GUID.newGuid();
String guidString = newGuid.toGuidString();
GUID guidFromString = Ole32Util.getGUIDFromString(guidString);
assertEquals(guidFromString.toGuidString(), guidString);
}
}