diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-12-21 06:34:19 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-12-21 06:34:19 +0000 |
commit | 7a01a914779b79b4b58fbe60abce62f4fab53fbf (patch) | |
tree | ac03a01fef35fb2ba4d891bd62deab01a394e1cf /location/tests | |
parent | 36db4ebbb3d754a728c1e6f72850731365b15895 (diff) | |
parent | 226b7b7775dd1009ab5504fc1aec17db34f24a2e (diff) |
Merge "Bluesky Android Q Platform Changes"
Diffstat (limited to 'location/tests')
3 files changed, 255 insertions, 0 deletions
diff --git a/location/tests/locationtests/src/android/location/GnssMeasurementCorrectionsTest.java b/location/tests/locationtests/src/android/location/GnssMeasurementCorrectionsTest.java new file mode 100644 index 000000000000..c18d58f9a704 --- /dev/null +++ b/location/tests/locationtests/src/android/location/GnssMeasurementCorrectionsTest.java @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2018 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 android.location; + +import android.os.Parcel; + +import junit.framework.TestCase; + +import java.util.ArrayList; +import java.util.List; + +/** Unit tests for {@link GnssMeasurementCorrections}. */ +public class GnssMeasurementCorrectionsTest extends TestCase { + public void testDescribeContents() { + GnssMeasurementCorrections measurementCorrections = + new GnssMeasurementCorrections.Builder().build(); + measurementCorrections.describeContents(); + } + + public void testWriteToParcel() { + GnssMeasurementCorrections.Builder measurementCorrections = + new GnssMeasurementCorrections.Builder(); + setTestValues(measurementCorrections); + Parcel parcel = Parcel.obtain(); + measurementCorrections.build().writeToParcel(parcel, 0); + parcel.setDataPosition(0); + GnssMeasurementCorrections newMeasurementCorrection = + GnssMeasurementCorrections.CREATOR.createFromParcel(parcel); + verifyTestValues(newMeasurementCorrection); + parcel.recycle(); + } + + private static void verifyTestValues(GnssMeasurementCorrections measurementCorrections) { + assertEquals(37.386051, measurementCorrections.getLatitudeDegrees()); + assertEquals(-122.083855, measurementCorrections.getLongitudeDegrees()); + assertEquals(32.0, measurementCorrections.getAltitudeMeters()); + assertEquals(604000000000000L, measurementCorrections.getToaGpsNanosecondsOfWeek()); + + GnssSingleSatCorrection singleSatCorrection = + measurementCorrections.getSingleSatCorrectionList().get(0); + GnssSingleSatCorrectionsTest.verifyTestValues(singleSatCorrection); + + singleSatCorrection = measurementCorrections.getSingleSatCorrectionList().get(1); + assertEquals(15, singleSatCorrection.getSingleSatCorrectionFlags()); + assertEquals(GnssStatus.CONSTELLATION_GPS, singleSatCorrection.getConstellationType()); + assertEquals(11, singleSatCorrection.getSatId()); + assertEquals(1575430000f, singleSatCorrection.getCarrierFrequencyHz()); + assertEquals(false, singleSatCorrection.isSatelliteLineOfSight()); + assertEquals(50.0f, singleSatCorrection.getExcessPathLengthMeters()); + assertEquals(55.0f, singleSatCorrection.getExcessPathLengthUncertaintyMeters()); + GnssReflectingPlane reflectingPlane = singleSatCorrection.getReflectingPlane(); + assertEquals(37.386054, reflectingPlane.getLatitudeDegrees()); + assertEquals(-122.083855, reflectingPlane.getLongitudeDegrees()); + assertEquals(120.0, reflectingPlane.getAltitudeMeters()); + assertEquals(153.0, reflectingPlane.getAzimuthDegrees()); + } + + private static void setTestValues(GnssMeasurementCorrections.Builder measurementCorrections) { + measurementCorrections + .setLatitudeDegrees(37.386051) + .setLongitudeDegrees(-122.083855) + .setAltitudeMeters(32) + .setToaGpsNanosecondsOfWeek(604000000000000L); + List<GnssSingleSatCorrection> singleSatCorrectionList = new ArrayList<>(); + singleSatCorrectionList.add(GnssSingleSatCorrectionsTest.generateTestSingleSatCorrection()); + singleSatCorrectionList.add(generateTestSingleSatCorrection()); + measurementCorrections.setSingleSatCorrectionList(singleSatCorrectionList); + } + + private static GnssSingleSatCorrection generateTestSingleSatCorrection() { + GnssSingleSatCorrection.Builder singleSatCorrection = new GnssSingleSatCorrection.Builder(); + singleSatCorrection + .setSingleSatCorrectionFlags(8) + .setConstellationType(GnssStatus.CONSTELLATION_GPS) + .setSatId(11) + .setCarrierFrequencyHz(1575430000f) + .setSatIsLos(false) + .setExcessPathLengthMeters(50.0f) + .setExcessPathLengthUncertaintyMeters(55.0f) + .setReflectingPlane(generateTestReflectingPlane()); + return singleSatCorrection.build(); + } + + private static GnssReflectingPlane generateTestReflectingPlane() { + GnssReflectingPlane.Builder reflectingPlane = + new GnssReflectingPlane.Builder() + .setLatitudeDegrees(37.386054) + .setLongitudeDegrees(-122.083855) + .setAltitudeMeters(120.0) + .setAzimuthDegrees(153); + return reflectingPlane.build(); + } +} diff --git a/location/tests/locationtests/src/android/location/GnssReflectingPlaneTest.java b/location/tests/locationtests/src/android/location/GnssReflectingPlaneTest.java new file mode 100644 index 000000000000..d7a3378e5a12 --- /dev/null +++ b/location/tests/locationtests/src/android/location/GnssReflectingPlaneTest.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2018 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 android.location; + +import android.os.Parcel; + +import junit.framework.TestCase; + +/** Unit tests for {@link GnssReflectingPlane}. */ +public class GnssReflectingPlaneTest extends TestCase { + public void testDescribeContents() { + GnssReflectingPlane reflectingPlane = new GnssReflectingPlane.Builder().build(); + reflectingPlane.describeContents(); + } + + public void testWriteToParcel() { + GnssReflectingPlane.Builder reflectingPlane = new GnssReflectingPlane.Builder(); + setTestValues(reflectingPlane); + Parcel parcel = Parcel.obtain(); + reflectingPlane.build().writeToParcel(parcel, 0); + parcel.setDataPosition(0); + GnssReflectingPlane newReflectingPlane = + GnssReflectingPlane.CREATOR.createFromParcel(parcel); + verifyTestValues(newReflectingPlane); + parcel.recycle(); + } + + public static void verifyTestValues(GnssReflectingPlane reflectingPlane) { + assertEquals(37.386052, reflectingPlane.getLatitudeDegrees()); + assertEquals(-122.083853, reflectingPlane.getLongitudeDegrees()); + assertEquals(100.0, reflectingPlane.getAltitudeMeters()); + assertEquals(123.0, reflectingPlane.getAzimuthDegrees()); + } + + private static void setTestValues(GnssReflectingPlane.Builder reflectingPlane) { + GnssReflectingPlane refPlane = generateTestReflectingPlane(); + reflectingPlane + .setLatitudeDegrees(refPlane.getLatitudeDegrees()) + .setLongitudeDegrees(refPlane.getLongitudeDegrees()) + .setAltitudeMeters(refPlane.getAltitudeMeters()) + .setAzimuthDegrees(refPlane.getAzimuthDegrees()); + } + + public static GnssReflectingPlane generateTestReflectingPlane() { + GnssReflectingPlane.Builder reflectingPlane = + new GnssReflectingPlane.Builder() + .setLatitudeDegrees(37.386052) + .setLongitudeDegrees(-122.083853) + .setAltitudeMeters(100.0) + .setAzimuthDegrees(123.0); + return reflectingPlane.build(); + } +} diff --git a/location/tests/locationtests/src/android/location/GnssSingleSatCorrectionsTest.java b/location/tests/locationtests/src/android/location/GnssSingleSatCorrectionsTest.java new file mode 100644 index 000000000000..2e54ae463595 --- /dev/null +++ b/location/tests/locationtests/src/android/location/GnssSingleSatCorrectionsTest.java @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2018 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 android.location; + +import android.os.Parcel; + +import junit.framework.TestCase; + +/** Unit tests for {@link GnssSingleSatCorrection}. */ +public class GnssSingleSatCorrectionsTest extends TestCase { + public void testDescribeContents() { + GnssSingleSatCorrection singleSatCorrection = new GnssSingleSatCorrection.Builder().build(); + singleSatCorrection.describeContents(); + } + + public void testWriteToParcel() { + GnssSingleSatCorrection.Builder singleSatCorrection = new GnssSingleSatCorrection.Builder(); + setTestValues(singleSatCorrection); + Parcel parcel = Parcel.obtain(); + singleSatCorrection.build().writeToParcel(parcel, 0); + parcel.setDataPosition(0); + GnssSingleSatCorrection newSingleSatCorrection = + GnssSingleSatCorrection.CREATOR.createFromParcel(parcel); + verifyTestValues(newSingleSatCorrection); + parcel.recycle(); + } + + public static void verifyTestValues(GnssSingleSatCorrection singleSatCorrection) { + assertEquals(15, singleSatCorrection.getSingleSatCorrectionFlags()); + assertEquals(GnssStatus.CONSTELLATION_GALILEO, singleSatCorrection.getConstellationType()); + assertEquals(12, singleSatCorrection.getSatId()); + assertEquals(1575420000f, singleSatCorrection.getCarrierFrequencyHz()); + assertEquals(true, singleSatCorrection.isSatelliteLineOfSight()); + assertEquals(10.0f, singleSatCorrection.getExcessPathLengthMeters()); + assertEquals(5.0f, singleSatCorrection.getExcessPathLengthUncertaintyMeters()); + GnssReflectingPlane reflectingPlane = singleSatCorrection.getReflectingPlane(); + GnssReflectingPlaneTest.verifyTestValues(reflectingPlane); + } + + private static void setTestValues(GnssSingleSatCorrection.Builder singleSatCorrection) { + GnssSingleSatCorrection singleSatCorr = generateTestSingleSatCorrection(); + singleSatCorrection + .setSingleSatCorrectionFlags(singleSatCorr.getSingleSatCorrectionFlags()) + .setConstellationType(singleSatCorr.getConstellationType()) + .setSatId(singleSatCorr.getSatId()) + .setCarrierFrequencyHz(singleSatCorr.getCarrierFrequencyHz()) + .setSatIsLos(singleSatCorr.isSatelliteLineOfSight()) + .setExcessPathLengthMeters(singleSatCorr.getExcessPathLengthMeters()) + .setExcessPathLengthUncertaintyMeters( + singleSatCorr.getExcessPathLengthUncertaintyMeters()) + .setReflectingPlane(singleSatCorr.getReflectingPlane()); + } + + public static GnssSingleSatCorrection generateTestSingleSatCorrection() { + GnssSingleSatCorrection.Builder singleSatCorrection = + new GnssSingleSatCorrection.Builder() + .setSingleSatCorrectionFlags(15) + .setConstellationType(GnssStatus.CONSTELLATION_GALILEO) + .setSatId(12) + .setCarrierFrequencyHz(1575420000f) + .setSatIsLos(true) + .setExcessPathLengthMeters(10.0f) + .setExcessPathLengthUncertaintyMeters(5.0f) + .setReflectingPlane(GnssReflectingPlaneTest.generateTestReflectingPlane()); + return singleSatCorrection.build(); + } +} |