mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-30 08:24:11 +01:00
94 lines
2.0 KiB
Java
94 lines
2.0 KiB
Java
package org.openpilot.uavtalk;
|
|
|
|
import static org.junit.Assert.*;
|
|
|
|
import java.nio.ByteBuffer;
|
|
import java.util.Observer;
|
|
|
|
import org.junit.BeforeClass;
|
|
import org.junit.Test;
|
|
import org.openpilot.uavtalk.uavobjects.ActuatorCommand;
|
|
import org.openpilot.uavtalk.uavobjects.UAVObjectsInitialize;
|
|
|
|
public class DataObjectTest {
|
|
|
|
boolean succeed = false;
|
|
|
|
@BeforeClass
|
|
public static void setUpBeforeClass() throws Exception {
|
|
}
|
|
|
|
@Test
|
|
public void testUpdatedObserver() {
|
|
|
|
succeed = false;
|
|
|
|
UAVObject obj = new ActuatorCommand();
|
|
obj.addUpdatedObserver( new Observer() {
|
|
|
|
public void update(java.util.Observable observable, Object data) {
|
|
System.out.println("Updated: " + data.toString());
|
|
succeed = true;
|
|
}
|
|
});
|
|
obj.updated();
|
|
|
|
if(!succeed)
|
|
fail("No callback");
|
|
|
|
System.out.println("Done");
|
|
|
|
}
|
|
|
|
@Test
|
|
public void testUpdatedViaObjMngr() {
|
|
succeed = false;
|
|
|
|
UAVObjectManager objMngr = new UAVObjectManager();
|
|
UAVObjectsInitialize.register(objMngr);
|
|
|
|
UAVObject obj = objMngr.getObject("FlightTelemetryStats");
|
|
obj.addUpdatedObserver( new Observer() {
|
|
|
|
public void update(java.util.Observable observable, Object data) {
|
|
System.out.println("Updated: " + data.toString());
|
|
succeed = true;
|
|
}
|
|
});
|
|
objMngr.getObject("FlightTelemetryStats").updated();
|
|
|
|
if(!succeed)
|
|
fail("No callback");
|
|
System.out.println("Done");
|
|
|
|
}
|
|
|
|
@Test
|
|
public void testUnpackedViaObjMngr() {
|
|
succeed = false;
|
|
|
|
UAVObjectManager objMngr = new UAVObjectManager();
|
|
UAVObjectsInitialize.register(objMngr);
|
|
|
|
UAVObject obj = objMngr.getObject("FlightTelemetryStats");
|
|
obj.addUnpackedObserver( new Observer() {
|
|
|
|
public void update(java.util.Observable observable, Object data) {
|
|
System.out.println("Updated: " + data.toString());
|
|
succeed = true;
|
|
}
|
|
});
|
|
|
|
ByteBuffer bbuf = ByteBuffer.allocate(obj.getNumBytes());
|
|
objMngr.getObject("FlightTelemetryStats").unpack(bbuf);
|
|
|
|
if(!succeed)
|
|
fail("No callback");
|
|
|
|
System.out.println("Done");
|
|
|
|
}
|
|
|
|
|
|
}
|