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.
test_m2mdevice.cpp
00001 /* 00002 * Copyright (c) 2015 ARM Limited. All rights reserved. 00003 * SPDX-License-Identifier: Apache-2.0 00004 * Licensed under the Apache License, Version 2.0 (the License); you may 00005 * not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 00012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 #include "CppUTest/TestHarness.h" 00017 #include "test_m2mdevice.h" 00018 #include "m2mobject_stub.h" 00019 #include "m2mobjectinstance_stub.h" 00020 #include "m2mresource_stub.h" 00021 #include "m2mresourceinstance_stub.h" 00022 #include "m2mbase_stub.h" 00023 00024 Test_M2MDevice::Test_M2MDevice() 00025 { 00026 M2MObject* obj = new M2MObject("name", "name"); 00027 m2mobject_stub::inst = new M2MObjectInstance(*obj, 00028 "name", 00029 "",""); 00030 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00031 "name", 00032 "type", 00033 M2MResourceInstance::STRING, 00034 false, 00035 "name"); 00036 00037 m2mobjectinstance_stub::create_resource_instance= new M2MResourceInstance(*m2mobjectinstance_stub::resource, 00038 "name", 00039 "type", 00040 M2MResourceInstance::STRING, 00041 0, 00042 "name", 00043 false); 00044 m2mresource_stub::bool_value = true; 00045 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst, 00046 "name", 00047 "type", 00048 M2MResourceInstance::STRING, 00049 false, 00050 "name"); 00051 device = M2MDevice::get_instance(); 00052 00053 delete m2mobjectinstance_stub::create_resource; 00054 m2mobjectinstance_stub::create_resource = NULL; 00055 00056 delete m2mobjectinstance_stub::resource; 00057 m2mobjectinstance_stub::resource = NULL; 00058 00059 delete m2mobjectinstance_stub::create_resource_instance; 00060 m2mobjectinstance_stub::create_resource_instance = NULL; 00061 00062 delete obj; 00063 } 00064 00065 Test_M2MDevice::~Test_M2MDevice() 00066 { 00067 delete m2mobject_stub::inst; 00068 m2mobject_stub::inst = NULL; 00069 00070 M2MDevice::delete_instance(); 00071 device = NULL; 00072 } 00073 00074 void Test_M2MDevice::test_create_resource_instance() 00075 { 00076 m2mobjectinstance_stub::create_resource_instance = new M2MResourceInstance(*m2mobjectinstance_stub::resource, 00077 "name", 00078 "type", 00079 M2MResourceInstance::STRING, 00080 0, 00081 "name", 00082 false); 00083 00084 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00085 "name", 00086 "type", 00087 M2MResourceInstance::STRING, 00088 false, 00089 "name"); 00090 00091 CHECK(device->create_resource_instance(M2MDevice::ErrorCode,5,1) != NULL); 00092 CHECK(device->create_resource_instance(M2MDevice::ErrorCode,-1,1) == NULL); 00093 CHECK(device->create_resource_instance(M2MDevice::ErrorCode,9,1) == NULL); 00094 00095 m2mbase_stub::void_value = malloc(20); 00096 00097 CHECK(device->create_resource_instance(M2MDevice::AvailablePowerSources,-1,0) == NULL); 00098 CHECK(device->create_resource_instance(M2MDevice::AvailablePowerSources,8,0) == NULL); 00099 CHECK(device->create_resource_instance(M2MDevice::AvailablePowerSources,7,0) != NULL); 00100 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00101 00102 CHECK(device->create_resource_instance(M2MDevice::PowerSourceVoltage,10,0) != NULL); 00103 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00104 00105 CHECK(device->create_resource_instance(M2MDevice::PowerSourceCurrent,10,0) != NULL); 00106 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00107 00108 free(m2mbase_stub::void_value); 00109 delete m2mobjectinstance_stub::create_resource_instance; 00110 m2mobjectinstance_stub::create_resource_instance = NULL; 00111 00112 delete m2mobjectinstance_stub::resource; 00113 m2mobjectinstance_stub::resource = NULL; 00114 } 00115 00116 void Test_M2MDevice::test_create_resource_string() 00117 { 00118 m2mresourceinstance_stub::value = NULL; 00119 CHECK(device->create_resource(M2MDevice::Reboot,"test") == NULL); 00120 CHECK(device->create_resource(M2MDevice::ErrorCode,"test") == NULL); 00121 CHECK(device->create_resource(M2MDevice::SupportedBindingMode,"test") == NULL); 00122 // Length 65, should fail 00123 String max_lenght = "65656565656565656565656565656565656565656565656565656565656565656"; 00124 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst, 00125 "name", 00126 "type", 00127 M2MResourceInstance::STRING, 00128 false, 00129 "name"); 00130 00131 CHECK(device->create_resource(M2MDevice::Manufacturer,"test") != NULL); 00132 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00133 00134 CHECK(device->create_resource(M2MDevice::Manufacturer,max_lenght) == NULL); 00135 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00136 00137 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00138 "name", 00139 "type", 00140 M2MResourceInstance::STRING, 00141 false, 00142 "name"); 00143 m2mresource_stub::bool_value = false; 00144 //Duplicate resource 00145 CHECK(device->create_resource(M2MDevice::Manufacturer,"test") == NULL); 00146 00147 delete m2mobjectinstance_stub::resource; 00148 m2mobjectinstance_stub::resource = NULL; 00149 00150 CHECK(device->create_resource(M2MDevice::DeviceType,"test") != NULL); 00151 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00152 CHECK(device->create_resource(M2MDevice::DeviceType,"") != NULL); 00153 CHECK(device->create_resource(M2MDevice::DeviceType,max_lenght) == NULL); 00154 00155 CHECK(device->create_resource(M2MDevice::ModelNumber,"test") != NULL); 00156 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00157 CHECK(device->create_resource(M2MDevice::ModelNumber,max_lenght) == NULL); 00158 00159 00160 CHECK(device->create_resource(M2MDevice::SerialNumber,"test") != NULL); 00161 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00162 CHECK(device->create_resource(M2MDevice::SerialNumber,max_lenght) == NULL); 00163 00164 00165 CHECK(device->create_resource(M2MDevice::HardwareVersion,"test") != NULL); 00166 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00167 CHECK(device->create_resource(M2MDevice::HardwareVersion,max_lenght) == NULL); 00168 00169 00170 CHECK(device->create_resource(M2MDevice::FirmwareVersion,"test") != NULL); 00171 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00172 CHECK(device->create_resource(M2MDevice::FirmwareVersion,max_lenght) == NULL); 00173 00174 00175 CHECK(device->create_resource(M2MDevice::SoftwareVersion,"test") != NULL); 00176 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00177 CHECK(device->create_resource(M2MDevice::SoftwareVersion,max_lenght) == NULL); 00178 00179 00180 CHECK(device->create_resource(M2MDevice::UTCOffset,"test") != NULL); 00181 CHECK(M2MBase::GET_PUT_ALLOWED == m2mbase_stub::operation); 00182 CHECK(device->create_resource(M2MDevice::UTCOffset,max_lenght) == NULL); 00183 00184 00185 CHECK(device->create_resource(M2MDevice::Timezone,"test") != NULL); 00186 CHECK(M2MBase::GET_PUT_ALLOWED == m2mbase_stub::operation); 00187 CHECK(device->create_resource(M2MDevice::Timezone,max_lenght) == NULL); 00188 00189 CHECK(device->create_resource(M2MDevice::BatteryLevel,"test") == NULL); 00190 CHECK(device->create_resource(M2MDevice::BatteryStatus,"test") == NULL); 00191 CHECK(device->create_resource(M2MDevice::MemoryFree,"test") == NULL); 00192 CHECK(device->create_resource(M2MDevice::MemoryTotal,"test") == NULL); 00193 CHECK(device->create_resource(M2MDevice::ResetErrorCode,"test") == NULL); 00194 CHECK(device->create_resource(M2MDevice::CurrentTime,"test") == NULL); 00195 CHECK(device->create_resource(M2MDevice::AvailablePowerSources,"test") == NULL); 00196 CHECK(device->create_resource(M2MDevice::PowerSourceVoltage,"test") == NULL); 00197 CHECK(device->create_resource(M2MDevice::PowerSourceCurrent,"test") == NULL); 00198 CHECK(device->create_resource(M2MDevice::FactoryReset,"test") == NULL); 00199 00200 delete m2mobjectinstance_stub::create_resource; 00201 m2mobjectinstance_stub::create_resource = NULL; 00202 } 00203 00204 void Test_M2MDevice::test_create_resource_int() 00205 { 00206 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst, 00207 "name", 00208 "type", 00209 M2MResourceInstance::STRING, 00210 false, 00211 "name"); 00212 00213 CHECK(device->create_resource(M2MDevice::Reboot,10) == NULL); 00214 CHECK(device->create_resource(M2MDevice::SupportedBindingMode,10) == NULL); 00215 00216 CHECK(device->create_resource(M2MDevice::Manufacturer,10) == NULL); 00217 CHECK(device->create_resource(M2MDevice::DeviceType,10) == NULL); 00218 CHECK(device->create_resource(M2MDevice::ModelNumber,10) == NULL); 00219 CHECK(device->create_resource(M2MDevice::SerialNumber,10) == NULL); 00220 CHECK(device->create_resource(M2MDevice::HardwareVersion,10) == NULL); 00221 CHECK(device->create_resource(M2MDevice::FirmwareVersion,10) == NULL); 00222 CHECK(device->create_resource(M2MDevice::SoftwareVersion,10) == NULL); 00223 CHECK(device->create_resource(M2MDevice::UTCOffset,10) == NULL); 00224 CHECK(device->create_resource(M2MDevice::Timezone,10) == NULL); 00225 CHECK(device->create_resource(M2MDevice::FactoryReset,10) == NULL); 00226 00227 m2mbase_stub::void_value = malloc(20); 00228 00229 CHECK(device->create_resource(M2MDevice::BatteryLevel,10) != NULL); 00230 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00231 00232 // Range is above 100 00233 CHECK(device->create_resource(M2MDevice::BatteryLevel,101) == NULL); 00234 00235 CHECK(device->create_resource(M2MDevice::BatteryStatus,4) != NULL); 00236 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00237 00238 // Range is above 6 00239 CHECK(device->create_resource(M2MDevice::BatteryStatus,10) == NULL); 00240 00241 CHECK(device->create_resource(M2MDevice::MemoryFree,10) != NULL); 00242 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00243 00244 CHECK(device->create_resource(M2MDevice::MemoryTotal,10) != NULL); 00245 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00246 00247 CHECK(device->create_resource(M2MDevice::CurrentTime,10) != NULL); 00248 CHECK(M2MBase::GET_PUT_ALLOWED == m2mbase_stub::operation); 00249 00250 free(m2mbase_stub::void_value); 00251 delete m2mobjectinstance_stub::create_resource; 00252 m2mobjectinstance_stub::create_resource = NULL; 00253 } 00254 00255 void Test_M2MDevice::test_create_resource_no_param() 00256 { 00257 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst, 00258 "name", 00259 "type", 00260 M2MResourceInstance::STRING, 00261 false, 00262 "name"); 00263 00264 00265 CHECK(device->create_resource(M2MDevice::Reboot) == NULL); 00266 CHECK(device->create_resource(M2MDevice::ErrorCode) == NULL); 00267 CHECK(device->create_resource(M2MDevice::SupportedBindingMode) == NULL); 00268 00269 CHECK(device->create_resource(M2MDevice::Manufacturer) == NULL); 00270 CHECK(device->create_resource(M2MDevice::DeviceType) == NULL); 00271 CHECK(device->create_resource(M2MDevice::ModelNumber) == NULL); 00272 CHECK(device->create_resource(M2MDevice::SerialNumber) == NULL); 00273 CHECK(device->create_resource(M2MDevice::HardwareVersion) == NULL); 00274 CHECK(device->create_resource(M2MDevice::FirmwareVersion) == NULL); 00275 CHECK(device->create_resource(M2MDevice::SoftwareVersion) == NULL); 00276 CHECK(device->create_resource(M2MDevice::UTCOffset) == NULL); 00277 CHECK(device->create_resource(M2MDevice::Timezone) == NULL); 00278 00279 CHECK(device->create_resource(M2MDevice::BatteryLevel) == NULL); 00280 CHECK(device->create_resource(M2MDevice::BatteryStatus) == NULL); 00281 CHECK(device->create_resource(M2MDevice::MemoryFree) == NULL); 00282 CHECK(device->create_resource(M2MDevice::MemoryTotal) == NULL); 00283 CHECK(device->create_resource(M2MDevice::CurrentTime) == NULL); 00284 CHECK(device->create_resource(M2MDevice::AvailablePowerSources) == NULL); 00285 CHECK(device->create_resource(M2MDevice::PowerSourceVoltage) == NULL); 00286 CHECK(device->create_resource(M2MDevice::PowerSourceCurrent) == NULL); 00287 00288 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00289 "name", 00290 "type", 00291 M2MResourceInstance::STRING, 00292 false, 00293 "name"); 00294 00295 CHECK(device->create_resource(M2MDevice::ResetErrorCode) != NULL); 00296 00297 CHECK(device->create_resource(M2MDevice::FactoryReset) != NULL); 00298 00299 delete m2mobjectinstance_stub::resource; 00300 m2mobjectinstance_stub::resource = NULL; 00301 00302 CHECK(M2MBase::POST_ALLOWED == m2mbase_stub::operation); 00303 00304 delete m2mobjectinstance_stub::create_resource; 00305 m2mobjectinstance_stub::create_resource = NULL; 00306 00307 00308 } 00309 00310 void Test_M2MDevice::test_delete_resource() 00311 { 00312 m2mobjectinstance_stub::bool_value = true; 00313 00314 CHECK(device->delete_resource(M2MDevice::Reboot) == false); 00315 CHECK(device->delete_resource(M2MDevice::ErrorCode) == false); 00316 CHECK(device->delete_resource(M2MDevice::SupportedBindingMode) == false); 00317 00318 CHECK(device->delete_resource(M2MDevice::Manufacturer) == true); 00319 CHECK(device->delete_resource(M2MDevice::BatteryLevel) == true); 00320 CHECK(device->delete_resource(M2MDevice::FactoryReset) == true); 00321 } 00322 00323 void Test_M2MDevice::test_delete_resource_instance() 00324 { 00325 m2mobjectinstance_stub::bool_value = true; 00326 00327 CHECK(device->delete_resource_instance(M2MDevice::Reboot,0) == false); 00328 CHECK(device->delete_resource_instance(M2MDevice::ErrorCode,0) == false); 00329 CHECK(device->delete_resource_instance(M2MDevice::SupportedBindingMode,0) == false); 00330 00331 CHECK(device->delete_resource_instance(M2MDevice::AvailablePowerSources,0) == true); 00332 CHECK(device->delete_resource_instance(M2MDevice::PowerSourceVoltage,0) == true); 00333 CHECK(device->delete_resource_instance(M2MDevice::PowerSourceCurrent,0) == true); 00334 } 00335 00336 void Test_M2MDevice::test_set_resource_value_string() 00337 { 00338 // Length 65, should fail 00339 m2mresourceinstance_stub::value = NULL; 00340 String max_lenght = "65656565656565656565656565656565656565656565656565656565656565656"; 00341 m2mbase_stub::bool_value = true; 00342 m2mresourceinstance_stub::bool_value = true; 00343 00344 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00345 "name", 00346 "type", 00347 M2MResourceInstance::STRING, 00348 false, 00349 "name"); 00350 m2mresource_stub::bool_value = false; 00351 00352 m2mbase_stub::void_value = malloc(20); 00353 00354 CHECK(device->set_resource_value(M2MDevice::Reboot,"test") == false); 00355 CHECK(device->set_resource_value(M2MDevice::ErrorCode,"test") == false); 00356 CHECK(device->set_resource_value(M2MDevice::SupportedBindingMode,"test") == false); 00357 00358 CHECK(device->set_resource_value(M2MDevice::Manufacturer,"test") == true); 00359 CHECK(device->set_resource_value(M2MDevice::Manufacturer,"") == true); 00360 CHECK(device->set_resource_value(M2MDevice::Manufacturer,max_lenght) == false); 00361 CHECK(device->set_resource_value(M2MDevice::DeviceType,"test") == true); 00362 CHECK(device->set_resource_value(M2MDevice::DeviceType,max_lenght) == false); 00363 CHECK(device->set_resource_value(M2MDevice::ModelNumber,"test") == true); 00364 CHECK(device->set_resource_value(M2MDevice::ModelNumber,max_lenght) == false); 00365 CHECK(device->set_resource_value(M2MDevice::SerialNumber,"test") == true); 00366 CHECK(device->set_resource_value(M2MDevice::SerialNumber,max_lenght) == false); 00367 CHECK(device->set_resource_value(M2MDevice::HardwareVersion,"test") == true); 00368 CHECK(device->set_resource_value(M2MDevice::HardwareVersion,max_lenght) == false); 00369 CHECK(device->set_resource_value(M2MDevice::FirmwareVersion,"test") == true); 00370 CHECK(device->set_resource_value(M2MDevice::FirmwareVersion,max_lenght) == false); 00371 CHECK(device->set_resource_value(M2MDevice::SoftwareVersion,"test") == true); 00372 CHECK(device->set_resource_value(M2MDevice::SoftwareVersion,max_lenght) == false); 00373 CHECK(device->set_resource_value(M2MDevice::UTCOffset,"test") == true); 00374 CHECK(device->set_resource_value(M2MDevice::UTCOffset,max_lenght) == false); 00375 CHECK(device->set_resource_value(M2MDevice::Timezone,"test") == true); 00376 CHECK(device->set_resource_value(M2MDevice::Timezone,max_lenght) == false); 00377 CHECK(device->set_resource_value(M2MDevice::Timezone,"") == true); 00378 00379 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,"test") == false); 00380 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,"test") == false); 00381 CHECK(device->set_resource_value(M2MDevice::MemoryFree,"test") == false); 00382 CHECK(device->set_resource_value(M2MDevice::MemoryTotal,"test") == false); 00383 CHECK(device->set_resource_value(M2MDevice::ResetErrorCode,"test") == false); 00384 CHECK(device->set_resource_value(M2MDevice::CurrentTime,"test") == false); 00385 CHECK(device->set_resource_value(M2MDevice::AvailablePowerSources,"test") == false); 00386 CHECK(device->set_resource_value(M2MDevice::PowerSourceVoltage,"test") == false); 00387 CHECK(device->set_resource_value(M2MDevice::PowerSourceCurrent,"test") == false); 00388 CHECK(device->set_resource_value(M2MDevice::FactoryReset,"test") == false); 00389 00390 free(m2mbase_stub::void_value); 00391 delete m2mobjectinstance_stub::resource; 00392 m2mobjectinstance_stub::resource = NULL; 00393 } 00394 00395 void Test_M2MDevice::test_set_resource_value_int() 00396 { 00397 m2mresourceinstance_stub::bool_value = true; 00398 00399 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00400 "name", 00401 "type", 00402 M2MResourceInstance::STRING, 00403 false, 00404 "name"); 00405 m2mresource_stub::bool_value = false; 00406 00407 m2mbase_stub::void_value = malloc(20); 00408 00409 CHECK(device->set_resource_value(M2MDevice::Reboot,10) == false); 00410 CHECK(device->set_resource_value(M2MDevice::SupportedBindingMode,10) == false); 00411 00412 CHECK(device->set_resource_value(M2MDevice::Manufacturer,10) == false); 00413 CHECK(device->set_resource_value(M2MDevice::DeviceType,10) == false); 00414 CHECK(device->set_resource_value(M2MDevice::ModelNumber,10) == false); 00415 CHECK(device->set_resource_value(M2MDevice::SerialNumber,10) == false); 00416 CHECK(device->set_resource_value(M2MDevice::HardwareVersion,10) == false); 00417 CHECK(device->set_resource_value(M2MDevice::FirmwareVersion,10) == false); 00418 CHECK(device->set_resource_value(M2MDevice::SoftwareVersion,10) == false); 00419 CHECK(device->set_resource_value(M2MDevice::UTCOffset,10) == false); 00420 CHECK(device->set_resource_value(M2MDevice::Timezone,10) == false); 00421 00422 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,-1) == false); 00423 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,10) == true); 00424 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,101) == false); 00425 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,6) == true); 00426 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,-1) == false); 00427 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,7) == false); 00428 CHECK(device->set_resource_value(M2MDevice::MemoryFree,10) == true); 00429 CHECK(device->set_resource_value(M2MDevice::MemoryTotal,10) == true); 00430 CHECK(device->set_resource_value(M2MDevice::CurrentTime,10) == true); 00431 CHECK(device->set_resource_value(M2MDevice::FactoryReset,10) == false); 00432 00433 free(m2mbase_stub::void_value); 00434 delete m2mobjectinstance_stub::resource; 00435 m2mobjectinstance_stub::resource = NULL; 00436 } 00437 00438 void Test_M2MDevice::test_resource_value_int() 00439 { 00440 uint8_t value[] = {"10"}; 00441 uint8_t* ptr = (uint8_t*)malloc((uint32_t)sizeof(value)); 00442 m2mresourceinstance_stub::value = ptr; 00443 memset(m2mresourceinstance_stub::value,0,(uint32_t)sizeof(value)); 00444 memcpy(m2mresourceinstance_stub::value,value,sizeof(value)); 00445 m2mresourceinstance_stub::int_value = (uint32_t)sizeof(value); 00446 00447 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00448 "name", 00449 "type", 00450 M2MResourceInstance::STRING, 00451 false, 00452 "name"); 00453 00454 m2mresourceinstance_stub::bool_value = true; 00455 m2mresource_stub::bool_value = false; 00456 m2mbase_stub::void_value = malloc(20); 00457 00458 CHECK(device->resource_value_int(M2MDevice::BatteryLevel) == 10); 00459 CHECK(device->resource_value_int(M2MDevice::BatteryStatus) == 10); 00460 CHECK(device->resource_value_int(M2MDevice::MemoryFree) == 10); 00461 CHECK(device->resource_value_int(M2MDevice::MemoryTotal) == 10); 00462 CHECK(device->resource_value_int(M2MDevice::ErrorCode) == 10); 00463 CHECK(device->resource_value_int(M2MDevice::CurrentTime) == 10); 00464 CHECK(device->resource_value_int(M2MDevice::AvailablePowerSources) == 10); 00465 CHECK(device->resource_value_int(M2MDevice::PowerSourceVoltage) == 10); 00466 CHECK(device->resource_value_int(M2MDevice::PowerSourceCurrent) == 10); 00467 CHECK(device->resource_value_int(M2MDevice::Manufacturer) == -1); 00468 00469 m2mresource_stub::instance= new M2MResourceInstance(*m2mobjectinstance_stub::resource, 00470 "name", 00471 "type", 00472 M2MResourceInstance::STRING, 00473 0, 00474 "name", 00475 false); 00476 m2mresource_stub::bool_value = true; 00477 CHECK(device->resource_value_int(M2MDevice::AvailablePowerSources,1) == 10); 00478 00479 free(m2mbase_stub::void_value); 00480 00481 delete m2mresource_stub::instance; 00482 m2mresource_stub::instance = NULL; 00483 00484 delete m2mobjectinstance_stub::resource; 00485 m2mobjectinstance_stub::resource = NULL; 00486 00487 free(ptr); 00488 } 00489 00490 void Test_M2MDevice::test_resource_value_string() 00491 { 00492 String test = "string"; 00493 uint8_t value[] = {"string"}; 00494 m2mresourceinstance_stub::value = (uint8_t*)malloc((uint32_t)sizeof(value)); 00495 memset(m2mresourceinstance_stub::value,0,(uint32_t)sizeof(value)); 00496 memcpy(m2mresourceinstance_stub::value,value,sizeof(value)); 00497 m2mresourceinstance_stub::int_value = (uint32_t)sizeof(value); 00498 00499 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00500 "name", 00501 "type", 00502 M2MResourceInstance::STRING, 00503 false, 00504 "name"); 00505 00506 m2mresourceinstance_stub::bool_value = true; 00507 m2mresource_stub::bool_value = false; 00508 m2mbase_stub::void_value = malloc(20); 00509 00510 CHECK(device->resource_value_string(M2MDevice::Manufacturer) == test); 00511 CHECK(device->resource_value_string(M2MDevice::DeviceType) == test); 00512 CHECK(device->resource_value_string(M2MDevice::ModelNumber) == test); 00513 CHECK(device->resource_value_string(M2MDevice::SerialNumber) == test); 00514 CHECK(device->resource_value_string(M2MDevice::HardwareVersion) == test); 00515 CHECK(device->resource_value_string(M2MDevice::FirmwareVersion) == test); 00516 CHECK(device->resource_value_string(M2MDevice::SoftwareVersion) == test); 00517 CHECK(device->resource_value_string(M2MDevice::UTCOffset) == test); 00518 CHECK(device->resource_value_string(M2MDevice::Timezone) == test); 00519 CHECK(device->resource_value_string(M2MDevice::BatteryLevel) == ""); 00520 00521 free(m2mbase_stub::void_value); 00522 00523 delete m2mobjectinstance_stub::resource; 00524 m2mobjectinstance_stub::resource = NULL; 00525 00526 free(m2mresourceinstance_stub::value); 00527 m2mresourceinstance_stub::value = NULL; 00528 } 00529 00530 void Test_M2MDevice::test_is_resource_present() 00531 { 00532 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst, 00533 "name", 00534 "type", 00535 M2MResourceInstance::STRING, 00536 false, 00537 "name"); 00538 m2mresource_stub::bool_value = false; 00539 CHECK(device->is_resource_present(M2MDevice::Reboot) == true); 00540 00541 delete m2mobjectinstance_stub::resource; 00542 m2mobjectinstance_stub::resource = NULL; 00543 00544 CHECK(device->is_resource_present(M2MDevice::Manufacturer) == false); 00545 CHECK(device->is_resource_present(M2MDevice::DeviceType) == false); 00546 } 00547 00548 void Test_M2MDevice::test_per_resource_count() 00549 { 00550 m2mobjectinstance_stub::int_value = 1; 00551 CHECK(device->per_resource_count(M2MDevice::Reboot) == 1); 00552 00553 m2mobjectinstance_stub::int_value = 0; 00554 00555 CHECK(device->per_resource_count(M2MDevice::Manufacturer) == 0); 00556 } 00557 00558 void Test_M2MDevice::test_total_resource_count() 00559 { 00560 M2MResource res(*m2mobject_stub::inst,"test","test",M2MResourceInstance::STRING,false, "test"); 00561 00562 m2mobjectinstance_stub::resource_list.push_back(&res); 00563 M2MResource res2(*m2mobject_stub::inst,"test","test",M2MResourceInstance::STRING,false, "test"); 00564 00565 m2mobjectinstance_stub::resource_list.push_back(&res2); 00566 00567 CHECK(device->total_resource_count() == 2); 00568 00569 m2mobjectinstance_stub::resource_list.clear(); 00570 } 00571
Generated on Tue Jul 12 2022 21:20:29 by
