Cellular: added more CellularInformation unit tests.

pull/7286/head
Teppo Järvelin 2018-06-20 15:40:00 +03:00
parent f3424da060
commit f84862191c
7 changed files with 89 additions and 10 deletions

View File

@ -52,3 +52,7 @@ TEST(AT_CellularInformation, test_AT_CellularInformation_get_revision)
unit->test_AT_CellularInformation_get_revision(); unit->test_AT_CellularInformation_get_revision();
} }
TEST(AT_CellularInformation, test_AT_CellularInformation_get_serial_number)
{
unit->test_AT_CellularInformation_get_serial_number();
}

View File

@ -20,6 +20,7 @@
#include "ATHandler_stub.h" #include "ATHandler_stub.h"
#include "EventQueue.h" #include "EventQueue.h"
#include "FileHandle_stub.h" #include "FileHandle_stub.h"
#include "AT_CellularBase_stub.h"
#include "ATHandler.h" #include "ATHandler.h"
#include "AT_CellularInformation.h" #include "AT_CellularInformation.h"
#include "AT_CellularBase.h" #include "AT_CellularBase.h"
@ -43,10 +44,19 @@ void Test_AT_CellularInformation::test_AT_CellularInformation_get_manufacturer()
ATHandler ah(&fh, eq, 0, ","); ATHandler ah(&fh, eq, 0, ",");
AT_CellularInformation aci(ah); AT_CellularInformation aci(ah);
ATHandler_stub::nsapi_error_value = 8; ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = "some";
ATHandler_stub::ssize_value = 4;
char buf[8]; char buf[8];
CHECK(8 == aci.get_manufacturer(buf, 8)); CHECK(NSAPI_ERROR_OK == aci.get_manufacturer(buf, 8));
CHECK(strcmp("some", buf) == 0);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
ATHandler_stub::ssize_value = -1;
buf[0] = 0;
CHECK(NSAPI_ERROR_DEVICE_ERROR == aci.get_manufacturer(buf, 8));
CHECK(strlen(buf) == 0);
} }
void Test_AT_CellularInformation::test_AT_CellularInformation_get_model() void Test_AT_CellularInformation::test_AT_CellularInformation_get_model()
@ -56,10 +66,18 @@ void Test_AT_CellularInformation::test_AT_CellularInformation_get_model()
ATHandler ah(&fh, eq, 0, ","); ATHandler ah(&fh, eq, 0, ",");
AT_CellularInformation aci(ah); AT_CellularInformation aci(ah);
ATHandler_stub::nsapi_error_value = 7; ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = "model";
ATHandler_stub::ssize_value = 5;
char buf[8]; char buf[8];
CHECK(7 == aci.get_model(buf, 8)); CHECK(NSAPI_ERROR_OK == aci.get_model(buf, 8));
CHECK(strcmp("model", buf) == 0);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
ATHandler_stub::ssize_value = -1;
buf[0] = 0;
CHECK(NSAPI_ERROR_DEVICE_ERROR == aci.get_model(buf, 8));
CHECK(strlen(buf) == 0);
} }
void Test_AT_CellularInformation::test_AT_CellularInformation_get_revision() void Test_AT_CellularInformation::test_AT_CellularInformation_get_revision()
@ -71,11 +89,53 @@ void Test_AT_CellularInformation::test_AT_CellularInformation_get_revision()
//Used heap var here to visit heap constructor //Used heap var here to visit heap constructor
AT_CellularInformation *aci = new AT_CellularInformation(ah); AT_CellularInformation *aci = new AT_CellularInformation(ah);
ATHandler_stub::nsapi_error_value = 6; ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = "revision";
ATHandler_stub::ssize_value = 8;
char buf[8]; char buf[9];
CHECK(6 == aci->get_revision(buf, 8)); CHECK(NSAPI_ERROR_OK == aci->get_revision(buf, 9));
CHECK(strcmp("revision", buf) == 0);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
ATHandler_stub::ssize_value = -1;
buf[0] = 0;
CHECK(NSAPI_ERROR_DEVICE_ERROR == aci->get_revision(buf, 8));
CHECK(strlen(buf) == 0);
delete aci; delete aci;
} }
void Test_AT_CellularInformation::test_AT_CellularInformation_get_serial_number()
{
EventQueue eq;
FileHandle_stub fh;
ATHandler ah(&fh, eq, 0, ",");
AT_CellularInformation aci(ah);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = "1234567";
ATHandler_stub::ssize_value = 7;
char buf[8];
CHECK(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::SN));
CHECK(strcmp("1234567", buf) == 0);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
ATHandler_stub::ssize_value = -1;
buf[0] = 0;
CHECK(NSAPI_ERROR_DEVICE_ERROR == aci.get_serial_number(buf, 8, CellularInformation::SN));
CHECK(strlen(buf) == 0);
AT_CellularBase_stub::supported_bool = false;
CHECK(NSAPI_ERROR_UNSUPPORTED == aci.get_serial_number(buf, 8, CellularInformation::IMEI));
CHECK(strlen(buf) == 0);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
ATHandler_stub::read_string_value = "1234567";
ATHandler_stub::ssize_value = 7;
AT_CellularBase_stub::supported_bool = true;
CHECK(NSAPI_ERROR_OK == aci.get_serial_number(buf, 8, CellularInformation::IMEI));
CHECK(strcmp("1234567", buf) == 0);
}

View File

@ -29,6 +29,8 @@ public:
void test_AT_CellularInformation_get_model(); void test_AT_CellularInformation_get_model();
void test_AT_CellularInformation_get_revision(); void test_AT_CellularInformation_get_revision();
void test_AT_CellularInformation_get_serial_number();
}; };
#endif // TEST_AT_CELLULARINFORMATION_H #endif // TEST_AT_CELLULARINFORMATION_H

View File

@ -164,7 +164,7 @@ ssize_t ATHandler::read_string(char *buf, size_t size, bool read_even_stop_tag)
if (ATHandler_stub::read_string_index == kRead_string_table_size) { if (ATHandler_stub::read_string_index == kRead_string_table_size) {
if (ATHandler_stub::read_string_value && ATHandler_stub::ssize_value >= 0) { if (ATHandler_stub::read_string_value && ATHandler_stub::ssize_value >= 0) {
memcpy(buf, ATHandler_stub::read_string_value, ATHandler_stub::ssize_value); memcpy(buf, ATHandler_stub::read_string_value, ATHandler_stub::ssize_value+1);
} }
return ATHandler_stub::ssize_value; return ATHandler_stub::ssize_value;
} }

View File

@ -25,6 +25,7 @@ using namespace mbed;
ATHandler *AT_CellularBase_stub::handler_value = NULL; ATHandler *AT_CellularBase_stub::handler_value = NULL;
ATHandler *AT_CellularBase_stub::handler_at_constructor_value = NULL; ATHandler *AT_CellularBase_stub::handler_at_constructor_value = NULL;
device_err_t AT_CellularBase_stub::device_err_value; device_err_t AT_CellularBase_stub::device_err_value;
bool AT_CellularBase_stub::supported_bool = true;
AT_CellularBase::AT_CellularBase(ATHandler& at) : _at(at) AT_CellularBase::AT_CellularBase(ATHandler& at) : _at(at)
{ {
@ -43,5 +44,5 @@ device_err_t AT_CellularBase::get_device_error() const
bool AT_CellularBase::is_supported(SupportedFeature feature) bool AT_CellularBase::is_supported(SupportedFeature feature)
{ {
return true; return AT_CellularBase_stub::supported_bool;
} }

View File

@ -21,4 +21,5 @@ namespace AT_CellularBase_stub {
extern mbed::ATHandler *handler_value; extern mbed::ATHandler *handler_value;
extern mbed::ATHandler *handler_at_constructor_value; extern mbed::ATHandler *handler_at_constructor_value;
extern mbed::device_err_t device_err_value; extern mbed::device_err_t device_err_value;
extern bool supported_bool;
} }

View File

@ -73,6 +73,10 @@ SocketAddress::SocketAddress(const SocketAddress &addr)
{ {
} }
SocketAddress::~SocketAddress()
{
}
bool SocketAddress::set_ip_address(const char *addr) bool SocketAddress::set_ip_address(const char *addr)
{ {
return false; return false;
@ -123,6 +127,13 @@ SocketAddress::operator bool() const
return false; return false;
} }
SocketAddress &SocketAddress::operator=(const SocketAddress &addr)
{
set_addr(addr.get_addr());
set_port(addr.get_port());
return *this;
}
bool operator==(const SocketAddress &a, const SocketAddress &b) bool operator==(const SocketAddress &a, const SocketAddress &b)
{ {
return false; return false;