diff options
Diffstat (limited to 'android/WALT/app/src/test/java/org/chromium')
4 files changed, 94 insertions, 4 deletions
diff --git a/android/WALT/app/src/test/java/org/chromium/latency/walt/AccelerometerFragmentTest.java b/android/WALT/app/src/test/java/org/chromium/latency/walt/AccelerometerFragmentTest.java new file mode 100644 index 0000000..7a70426 --- /dev/null +++ b/android/WALT/app/src/test/java/org/chromium/latency/walt/AccelerometerFragmentTest.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.chromium.latency.walt; + +import com.github.mikephil.charting.data.Entry; + +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import static org.junit.Assert.assertEquals; + +public class AccelerometerFragmentTest { + + @Test + public void testSmoothEntries() { + Random rand = new Random(1234); + List<Entry> entries = new ArrayList<>(); + for (int i = 1; i <= 400; i++) { + entries.add(new Entry(i, i + rand.nextFloat()*0.01f)); + } + final List<Entry> smoothEntries = AccelerometerFragment.smoothEntries(entries, 4); + for (Entry e : smoothEntries) { + assertEquals(e.getX(), e.getY(), 1e-2); + } + } + + @Test + public void testFindShifts() { + Random rand = new Random(5678); + List<Entry> phoneEntries = new ArrayList<>(); + List<Entry> waltEntries = new ArrayList<>(); + for (int i = 0; i < 1000; i++) { + if (i % 3 == 0) + phoneEntries.add(new Entry(i, (float) Math.sin((i - 12)*Math.PI/100))); + waltEntries.add(new Entry(i, (float) Math.sin(i*Math.PI/100)*rand.nextFloat() + rand.nextFloat()*0.2f - 0.1f)); + } + final double[] shifts = AccelerometerFragment.findShifts(phoneEntries, waltEntries); + for (double d : shifts) { + System.out.println(d); + } + assertEquals(12, Utils.argmax(shifts)/10d, 1e-9); + } +} diff --git a/android/WALT/app/src/test/java/org/chromium/latency/walt/HistogramChartTest.java b/android/WALT/app/src/test/java/org/chromium/latency/walt/HistogramChartTest.java index 8365719..c43eca1 100644 --- a/android/WALT/app/src/test/java/org/chromium/latency/walt/HistogramChartTest.java +++ b/android/WALT/app/src/test/java/org/chromium/latency/walt/HistogramChartTest.java @@ -29,7 +29,7 @@ import org.powermock.modules.junit4.PowerMockRunner; import java.util.ArrayList; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.when; import static org.powermock.api.mockito.PowerMockito.mockStatic; diff --git a/android/WALT/app/src/test/java/org/chromium/latency/walt/TraceLoggerTest.java b/android/WALT/app/src/test/java/org/chromium/latency/walt/TraceLoggerTest.java index ed617cb..f3a3c0d 100644 --- a/android/WALT/app/src/test/java/org/chromium/latency/walt/TraceLoggerTest.java +++ b/android/WALT/app/src/test/java/org/chromium/latency/walt/TraceLoggerTest.java @@ -21,7 +21,7 @@ import org.junit.runner.RunWith; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; -import static junit.framework.Assert.assertTrue; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; import static org.powermock.api.mockito.PowerMockito.mockStatic; diff --git a/android/WALT/app/src/test/java/org/chromium/latency/walt/UtilsTest.java b/android/WALT/app/src/test/java/org/chromium/latency/walt/UtilsTest.java index bf77e05..33d8454 100644 --- a/android/WALT/app/src/test/java/org/chromium/latency/walt/UtilsTest.java +++ b/android/WALT/app/src/test/java/org/chromium/latency/walt/UtilsTest.java @@ -16,15 +16,18 @@ package org.chromium.latency.walt; +import com.github.mikephil.charting.data.Entry; + import org.junit.Test; import java.util.ArrayList; +import java.util.List; import java.util.Random; import static java.lang.Double.NaN; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; public class UtilsTest { @@ -159,4 +162,31 @@ public class UtilsTest { } assertEquals(latency, Utils.findBestShift(laserTimes, touchTimes, touchY), 1e-6); } + + @Test + public void testMeanEntries() { + List<Entry> entries = new ArrayList<>(); + for (int i = 1; i <= 10; i++) { + entries.add(new Entry(i, i)); + } + assertEquals(5.5, Utils.mean(entries), 1e-12); + } + + @Test + public void testMinEntries() { + List<Entry> entries = new ArrayList<>(); + for (int i = 1; i <= 10; i++) { + entries.add(new Entry(i, i)); + } + assertEquals(1, Utils.min(entries), 1e-12); + } + + @Test + public void testMaxEntries() { + List<Entry> entries = new ArrayList<>(); + for (int i = 1; i <= 10; i++) { + entries.add(new Entry(i, i)); + } + assertEquals(10, Utils.max(entries), 1e-12); + } } |