Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94c80e44 authored by Nanase Mitsuhashi's avatar Nanase Mitsuhashi Committed by Sooraj Sasindran
Browse files

Add test for NR signal threshold boundaries

Test: atest FrameworksTelephonyTests:CellSignalStrengthNrTest
Bug: 214413103

Change-Id: Ib4febfed87757eb8423f51b69002a84023fb80d7
parent 26decd98
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ import static org.mockito.Mockito.doReturn;

import android.hardware.radio.V1_6.NrSignalStrength;
import android.os.Parcel;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.CellInfo;
import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthNr;
@@ -254,4 +256,41 @@ public class CellSignalStrengthNrTest extends TelephonyTest {
        css.updateLevel(null, mSS);
        assertEquals(1 /* MODERATE */, css.getLevel());
    }

    @Test
    public void testSignalLevel_ThresholdBoundaries() {
        int[] ssRsrpThresholds = {
                -110, /* SIGNAL_STRENGTH_POOR */
                -90,  /* SIGNAL_STRENGTH_MODERATE */
                -80,  /* SIGNAL_STRENGTH_GOOD */
                -65,  /* SIGNAL_STRENGTH_GREAT */
        };
        PersistableBundle bundle = new PersistableBundle();
        bundle.putInt(CarrierConfigManager.KEY_PARAMETERS_USE_FOR_5G_NR_SIGNAL_BAR_INT,
                CellSignalStrengthNr.USE_SSRSRP);
        bundle.putIntArray(CarrierConfigManager.KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY,
                ssRsrpThresholds);

        CellSignalStrengthNr css;

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[0], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_POOR, css.getLevel());

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[1], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_MODERATE, css.getLevel());

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[2], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_GOOD, css.getLevel());

        css = new CellSignalStrengthNr(CSIRSRP, CSIRSRQ, CSISINR, ssRsrpThresholds[3], SSRSRQ,
                SSSINR);
        css.updateLevel(bundle, null);
        assertEquals(CellSignalStrength.SIGNAL_STRENGTH_GREAT, css.getLevel());
    }
}