@@ -767,3 +767,43 @@ TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_packet_domain_event_r
767767 EXPECT_TRUE (NSAPI_ERROR_DEVICE_ERROR == cn.set_packet_domain_event_reporting (true ));
768768 EXPECT_TRUE (NSAPI_ERROR_DEVICE_ERROR == cn.set_packet_domain_event_reporting (false ));
769769}
770+
771+ TEST_F (TestAT_CellularNetwork, test_AT_CellularNetwork_is_active_context)
772+ {
773+ EventQueue que;
774+ FileHandle_stub fh1;
775+ ATHandler at (&fh1, que, 0 , " ," );
776+
777+ AT_CellularNetwork cn (at);
778+
779+ // No contexts
780+ int active_contexts = -1 ;
781+ EXPECT_FALSE (cn.is_active_context (&active_contexts));
782+ EXPECT_EQ (0 , active_contexts);
783+
784+ // Active contexts
785+ ATHandler_stub::resp_info_true_counter = 2 ;
786+ ATHandler_stub::int_count = 4 ;
787+ ATHandler_stub::int_valid_count_table[3 ] = 0 ; // ctx 0
788+ ATHandler_stub::int_valid_count_table[2 ] = 0 ; // ctx 0 inactive
789+ ATHandler_stub::int_valid_count_table[1 ] = 1 ; // ctx 1
790+ ATHandler_stub::int_valid_count_table[0 ] = 1 ; // ctx 1 active
791+
792+ EXPECT_TRUE (cn.is_active_context (&active_contexts));
793+ EXPECT_EQ (1 , active_contexts);
794+
795+ ATHandler_stub::resp_info_true_counter = 2 ;
796+ ATHandler_stub::int_count = 4 ;
797+ EXPECT_FALSE (cn.is_active_context (&active_contexts, 0 ));
798+ EXPECT_EQ (1 , active_contexts);
799+
800+ ATHandler_stub::resp_info_true_counter = 2 ;
801+ ATHandler_stub::int_count = 4 ;
802+ EXPECT_TRUE (cn.is_active_context (&active_contexts, 1 ));
803+ EXPECT_EQ (1 , active_contexts);
804+
805+ ATHandler_stub::resp_info_true_counter = 2 ;
806+ ATHandler_stub::int_count = 4 ;
807+ EXPECT_TRUE (cn.is_active_context (NULL , 1 ));
808+ EXPECT_EQ (1 , active_contexts);
809+ }
0 commit comments