takashi kadono / Mbed OS Nucleo_446

Dependencies:   ssd1331

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers at_cellularinformationtest.cpp Source File

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 }