package eu.livegov.mobilesensing.test;
import java.util.List;
import eu.livegov.mobilesensing.sensors.SensorValue;
import eu.livegov.mobilesensing.sensors.gyroscope.GyroscopeSensorService;
import eu.livegov.mobilesensing.sensors.gyroscope.GyroscopeSensorValue;
import android.content.Intent;
import android.test.ServiceTestCase;
import android.util.Log;
public class GyroscopeSensorServiceTest extends
ServiceTestCase<GyroscopeSensorService> {
public GyroscopeSensorServiceTest() {
super(GyroscopeSensorService.class);
}
GyroscopeSensorService mService;
@Override
protected void setUp() throws Exception {
super.setUp();
startService(new Intent(getContext(), GyroscopeSensorService.class));
mService = getService();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
// Stop Service
getContext().stopService(
new Intent(getContext(), GyroscopeSensorService.class));
}
public void testMetaData() {
assertTrue(mService != null);
assertTrue(mService.getMetadata().getServiceName() == GyroscopeSensorService.SENSOR_NAME);
}
public void testLastValue() {
assertTrue(mService != null);
// Fill in Dummy Value
GyroscopeSensorValue dummyValue = new GyroscopeSensorValue(0, 1, 2, 3);
mService.putSensorValue(dummyValue);
Log.i("TEST", dummyValue.toString());
Log.i("TEST", mService.getLastValue().toString());
assertTrue(mService.getLastValue().equals(dummyValue));
}
public void testPullData() {
assertTrue(mService != null);
// Fill in Dummy Value
GyroscopeSensorValue dummyValue0 = new GyroscopeSensorValue(0, 1, 2, 3);
GyroscopeSensorValue dummyValue1 = new GyroscopeSensorValue(0, 1, 2, 4);
GyroscopeSensorValue dummyValue2 = new GyroscopeSensorValue(0, 1, 2, 5);
GyroscopeSensorValue dummyValue3 = new GyroscopeSensorValue(0, 1, 2, 6);
mService.putSensorValue(dummyValue0);
mService.putSensorValue(dummyValue1);
mService.putSensorValue(dummyValue2);
mService.putSensorValue(dummyValue3);
List<? extends SensorValue> data = mService.pullData();
assertFalse(data.isEmpty());
assertTrue(data.get(0).equals(dummyValue0));
assertTrue(data.get(1).equals(dummyValue1));
assertTrue(data.get(2).equals(dummyValue2));
assertTrue(data.get(3).equals(dummyValue3));
// Pull again should be empty
data = mService.pullData();
data = mService.pullData();
assertTrue(data.isEmpty());
}
}