@@ -2185,8 +2185,69 @@ func TestADRAdaptDataRate(t *testing.T) {
21852185 },
21862186 OutputMargin : 5.0 ,
21872187 },
2188+ {
2189+ Name : "current index below min value" ,
2190+
2191+ MACState : & ttnpb.MACState {
2192+ CurrentParameters : & ttnpb.MACParameters {
2193+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_0 ,
2194+ AdrTxPowerIndex : 1 ,
2195+ },
2196+ DesiredParameters : & ttnpb.MACParameters {
2197+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_0 ,
2198+ AdrTxPowerIndex : 1 ,
2199+ },
2200+ },
2201+ Band : & band .EU_863_870_RP1_V1_0_3_Rev_A ,
2202+ MinDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_2 ,
2203+ MaxDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_3 ,
2204+ AllowedDataRateIndices : newDataRateIndexRange (ttnpb .DataRateIndex_DATA_RATE_0 , ttnpb .DataRateIndex_DATA_RATE_5 ),
2205+ InitialMargin : 0 ,
2206+
2207+ OutputMACState : & ttnpb.MACState {
2208+ CurrentParameters : & ttnpb.MACParameters {
2209+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_0 ,
2210+ AdrTxPowerIndex : 1 ,
2211+ },
2212+ DesiredParameters : & ttnpb.MACParameters {
2213+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_2 ,
2214+ AdrTxPowerIndex : 1 ,
2215+ },
2216+ },
2217+ OutputMargin : 0 ,
2218+ },
2219+ {
2220+ Name : "current index above max value" ,
2221+
2222+ MACState : & ttnpb.MACState {
2223+ CurrentParameters : & ttnpb.MACParameters {
2224+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_5 ,
2225+ AdrTxPowerIndex : 1 ,
2226+ },
2227+ DesiredParameters : & ttnpb.MACParameters {
2228+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_5 ,
2229+ AdrTxPowerIndex : 1 ,
2230+ },
2231+ },
2232+ Band : & band .EU_863_870_RP1_V1_0_3_Rev_A ,
2233+ MinDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_2 ,
2234+ MaxDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_3 ,
2235+ AllowedDataRateIndices : newDataRateIndexRange (ttnpb .DataRateIndex_DATA_RATE_0 , ttnpb .DataRateIndex_DATA_RATE_5 ),
2236+ InitialMargin : 0 ,
2237+
2238+ OutputMACState : & ttnpb.MACState {
2239+ CurrentParameters : & ttnpb.MACParameters {
2240+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_5 ,
2241+ AdrTxPowerIndex : 1 ,
2242+ },
2243+ DesiredParameters : & ttnpb.MACParameters {
2244+ AdrDataRateIndex : ttnpb .DataRateIndex_DATA_RATE_3 ,
2245+ AdrTxPowerIndex : 1 ,
2246+ },
2247+ },
2248+ OutputMargin : 0 ,
2249+ },
21882250 } {
2189- tc := tc
21902251 t .Run (tc .Name , func (t * testing.T ) {
21912252 t .Parallel ()
21922253
0 commit comments