Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
at_cellularinformationtest.cpp
00001 /* 00002 * Copyright (c) 2018, Arm Limited and affiliates. 00003 * SPDX-License-Identifier: Apache-2.0 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 #include "gtest/gtest.h" 00018 #include <string.h> 00019 #include "ATHandler_stub.h" 00020 #include "EventQueue.h" 00021 #include "FileHandle_stub.h" 00022 #include "AT_CellularBase_stub.h" 00023 #include "ATHandler.h" 00024 #include "AT_CellularInformation.h" 00025 #include "AT_CellularBase.h" 00026 00027 using namespace mbed; 00028 using namespace events; 00029 00030 // AStyle ignored as the definition is not clear due to preprocessor usage 00031 // *INDENT-OFF* 00032 class TestAT_CellularInformation : public testing::Test { 00033 protected: 00034 00035 void SetUp() 00036 { 00037 } 00038 00039 void TearDown() 00040 { 00041 } 00042 }; 00043 // *INDENT-ON* 00044 00045 TEST_F(TestAT_CellularInformation, Create) 00046 { 00047 EventQueue eq; 00048 FileHandle_stub fh; 00049 ATHandler ah(&fh, eq, 0, ","); 00050 AT_CellularInformation *unit = new AT_CellularInformation(ah); 00051 EXPECT_TRUE(unit != NULL); 00052 delete unit; 00053 } 00054 00055 TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_manufacturer) 00056 { 00057 EventQueue eq; 00058 FileHandle_stub fh; 00059 ATHandler ah(&fh, eq, 0, ","); 00060 AT_CellularInformation aci(ah); 00061 00062 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK ; 00063 ATHandler_stub::read_string_value = (char *)"some"; 00064 ATHandler_stub::ssize_value = 4; 00065 00066 char buf[8]; 00067 EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_manufacturer(buf, 8)); 00068 EXPECT_TRUE(strcmp("some", buf) == 0); 00069 00070 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR ; 00071 ATHandler_stub::ssize_value = -1; 00072 buf[0] = 0; 00073 EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci.get_manufacturer(buf, 8)); 00074 EXPECT_TRUE(strlen(buf) == 0); 00075 } 00076 00077 TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_model) 00078 { 00079 EventQueue eq; 00080 FileHandle_stub fh; 00081 ATHandler ah(&fh, eq, 0, ","); 00082 AT_CellularInformation aci(ah); 00083 00084 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK ; 00085 ATHandler_stub::read_string_value = (char *)"model"; 00086 ATHandler_stub::ssize_value = 5; 00087 char buf[8]; 00088 EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_model(buf, 8)); 00089 EXPECT_TRUE(strcmp("model", buf) == 0); 00090 00091 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR ; 00092 ATHandler_stub::ssize_value = -1; 00093 buf[0] = 0; 00094 EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci.get_model(buf, 8)); 00095 EXPECT_TRUE(strlen(buf) == 0); 00096 } 00097 00098 TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_revision) 00099 { 00100 EventQueue eq; 00101 FileHandle_stub fh; 00102 ATHandler ah(&fh, eq, 0, ","); 00103 00104 //Used heap var here to visit heap constructor 00105 AT_CellularInformation *aci = new AT_CellularInformation(ah); 00106 00107 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK ; 00108 ATHandler_stub::read_string_value = (char *)"revision"; 00109 ATHandler_stub::ssize_value = 8; 00110 00111 char buf[9]; 00112 EXPECT_TRUE(NSAPI_ERROR_OK == aci->get_revision(buf, 9)); 00113 EXPECT_TRUE(strcmp("revision", buf) == 0); 00114 00115 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR ; 00116 ATHandler_stub::ssize_value = -1; 00117 buf[0] = 0; 00118 EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci->get_revision(buf, 8)); 00119 EXPECT_TRUE(strlen(buf) == 0); 00120 00121 delete aci; 00122 } 00123 00124 TEST_F(TestAT_CellularInformation, test_AT_CellularInformation_get_serial_number) 00125 { 00126 EventQueue eq; 00127 FileHandle_stub fh; 00128 ATHandler ah(&fh, eq, 0, ","); 00129 AT_CellularInformation aci(ah); 00130 00131 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK ; 00132 ATHandler_stub::read_string_value = (char *)"1234567"; 00133 ATHandler_stub::ssize_value = 7; 00134 char buf[8]; 00135 00136 EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::SN)); 00137 EXPECT_TRUE(strcmp("1234567", buf) == 0); 00138 00139 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR ; 00140 ATHandler_stub::ssize_value = -1; 00141 buf[0] = 0; 00142 EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == aci.get_serial_number(buf, 8, CellularInformation::SN)); 00143 EXPECT_TRUE(strlen(buf) == 0); 00144 00145 AT_CellularBase_stub::supported_bool = false; 00146 EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == aci.get_serial_number(buf, 8, CellularInformation::IMEI)); 00147 EXPECT_TRUE(strlen(buf) == 0); 00148 00149 ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK ; 00150 ATHandler_stub::read_string_value = (char *)"1234567"; 00151 ATHandler_stub::ssize_value = 7; 00152 AT_CellularBase_stub::supported_bool = true; 00153 EXPECT_TRUE(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::IMEI)); 00154 EXPECT_TRUE(strcmp("1234567", buf) == 0); 00155 }
Generated on Tue Aug 9 2022 00:37:02 by
1.7.2