1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-02 03:16:07 +02:00

cycling-sensor: fixed tests

This commit is contained in:
Daniel Dakhno 2022-02-14 10:33:29 +01:00
parent 0b5e2f2c44
commit 5a690b9119
2 changed files with 60 additions and 3 deletions

View File

@ -0,0 +1,56 @@
package nodomain.freeyourgadget.gadgetbridge.service.devices.cycling_sensor;
import junit.framework.TestCase;
import nodomain.freeyourgadget.gadgetbridge.service.devices.cycling.data.AverageCalculator;
import nodomain.freeyourgadget.gadgetbridge.service.devices.cycling.data.DataAccumulator;
import nodomain.freeyourgadget.gadgetbridge.service.devices.cycling.protocol.CSCMeasurement;
public class AverageCalculatorTest extends TestCase {
public void testCalculateAverageMoving(){
DataAccumulator accumulator = new DataAccumulator();
accumulator.captureCSCMeasurement(new CSCMeasurement(0 * 1000, 0 * 1024, 0 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(1 * 1000, 1 * 1024, 1 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(2 * 1000, 2 * 1024, 2 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(3 * 1000, 3 * 1024, 3 * 1024));
AverageCalculator calculator = new AverageCalculator(accumulator);
assertEquals(1024.0, calculator.calculateAverageRevolutionsPerSecond(3000));
}
public void testCalculateAverageStanding(){
DataAccumulator accumulator = new DataAccumulator();
accumulator.captureCSCMeasurement(new CSCMeasurement(0 * 1000, 0 * 1024, 0 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(1 * 1000, 1 * 1024, 1 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(2 * 1000, 2 * 1024, 2 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(3 * 1000, 3 * 1024, 3 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(4 * 1000, 3 * 1024, 3 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(5 * 1000, 3 * 1024, 3 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(6 * 1000, 3 * 1024, 3 * 1024));
AverageCalculator calculator = new AverageCalculator(accumulator);
assertEquals(0.0, calculator.calculateAverageRevolutionsPerSecond(1000));
assertEquals(0.0, calculator.calculateAverageRevolutionsPerSecond(2000));
assertEquals(0.0, calculator.calculateAverageRevolutionsPerSecond(3000));
}
public void testCalculateAverageAccelerating(){
DataAccumulator accumulator = new DataAccumulator();
accumulator.captureCSCMeasurement(new CSCMeasurement(0 * 1000, 0 * 1024, 0 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(1 * 1000, 1 * 1024, 1 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(2 * 1000, 3 * 1024, 2 * 1024));
AverageCalculator calculator = new AverageCalculator(accumulator);
assertEquals(1536.0, calculator.calculateAverageRevolutionsPerSecond(2000));
}
public void testCalculateAverageBreaking(){
DataAccumulator accumulator = new DataAccumulator();
accumulator.captureCSCMeasurement(new CSCMeasurement(0 * 1000, 0 * 1024, 0 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(1 * 1000, 1 * 1024, 1 * 1024));
accumulator.captureCSCMeasurement(new CSCMeasurement(2 * 1000, 2 * 1024, 2 * 1024));
AverageCalculator calculator = new AverageCalculator(accumulator);
assertEquals(1024.0, calculator.calculateAverageRevolutionsPerSecond(2000));
accumulator.captureCSCMeasurement(new CSCMeasurement(3 * 1000, 2 * 1024, 2 * 1024));
assertEquals(1024.0, calculator.calculateAverageRevolutionsPerSecond(2000));
accumulator.captureCSCMeasurement(new CSCMeasurement(4 * 1000, 2 * 1024, 2 * 1024));
assertEquals(0.0, calculator.calculateAverageRevolutionsPerSecond(2000));
}
}

View File

@ -42,9 +42,10 @@ public class DataAccumulatorTest {
enrichAccumulator(accumulator, testData);
assertEquals(accumulator.getMeasurementsInTimeSpan(1000).length, 2);
assertEquals(accumulator.getMeasurementsInTimeSpan(1024).length, 2);
assertEquals(accumulator.getMeasurementsInTimeSpan(1025).length, 3);
assertEquals(accumulator.getMeasurementsInTimeSpan(7 * 1000).length, 8);
assertEquals(accumulator.getMeasurementsInTimeSpan(1024).length, 3);
assertEquals(accumulator.getMeasurementsInTimeSpan(2000).length, 3);
assertEquals(accumulator.getMeasurementsInTimeSpan(2001).length, 4);
assertEquals(accumulator.getMeasurementsInTimeSpan(7000).length, 8);
}
@Test