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.
Dependencies: MAX44000 PWM_Tone_Library nexpaq_mdk
Fork of LED_Demo by
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 class Callback : public M2MObjectCallback { 00025 00026 public: 00027 00028 Callback(){} 00029 ~Callback(){} 00030 void notification_update(uint16_t obj_instance_id) { 00031 visited = true; 00032 } 00033 00034 void clear() {visited = false;} 00035 bool visited; 00036 }; 00037 00038 00039 Test_M2MDevice::Test_M2MDevice() 00040 { 00041 callback = new Callback(); 00042 m2mobject_stub::inst = new M2MObjectInstance("name",*callback); 00043 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00044 m2mobjectinstance_stub::create_resource_instance= new M2MResourceInstance("name","type",M2MResourceInstance::STRING,*m2mobject_stub::inst); 00045 m2mresource_stub::bool_value = true; 00046 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00047 device = M2MDevice::get_instance(); 00048 00049 delete m2mobjectinstance_stub::create_resource; 00050 m2mobjectinstance_stub::create_resource = NULL; 00051 00052 delete m2mobjectinstance_stub::resource; 00053 m2mobjectinstance_stub::resource = NULL; 00054 00055 delete m2mobjectinstance_stub::create_resource_instance; 00056 m2mobjectinstance_stub::create_resource_instance = NULL; 00057 } 00058 00059 Test_M2MDevice::~Test_M2MDevice() 00060 { 00061 delete m2mobject_stub::inst; 00062 m2mobject_stub::inst = NULL; 00063 00064 M2MDevice::delete_instance(); 00065 device = NULL; 00066 delete callback; 00067 } 00068 00069 void Test_M2MDevice::test_create_resource_instance() 00070 { 00071 m2mobjectinstance_stub::create_resource_instance = new M2MResourceInstance("name","type",M2MResourceInstance::INTEGER,*m2mobject_stub::inst); 00072 00073 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00074 00075 CHECK(device->create_resource_instance(M2MDevice::ErrorCode,5,1) != NULL); 00076 CHECK(device->create_resource_instance(M2MDevice::ErrorCode,-1,1) == NULL); 00077 CHECK(device->create_resource_instance(M2MDevice::ErrorCode,9,1) == NULL); 00078 00079 m2mbase_stub::void_value = malloc(20); 00080 00081 CHECK(device->create_resource_instance(M2MDevice::AvailablePowerSources,-1,0) == NULL); 00082 CHECK(device->create_resource_instance(M2MDevice::AvailablePowerSources,8,0) == NULL); 00083 CHECK(device->create_resource_instance(M2MDevice::AvailablePowerSources,7,0) != NULL); 00084 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00085 00086 CHECK(device->create_resource_instance(M2MDevice::PowerSourceVoltage,10,0) != NULL); 00087 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00088 00089 CHECK(device->create_resource_instance(M2MDevice::PowerSourceCurrent,10,0) != NULL); 00090 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00091 00092 free(m2mbase_stub::void_value); 00093 delete m2mobjectinstance_stub::create_resource_instance; 00094 m2mobjectinstance_stub::create_resource_instance = NULL; 00095 00096 delete m2mobjectinstance_stub::resource; 00097 m2mobjectinstance_stub::resource = NULL; 00098 } 00099 00100 void Test_M2MDevice::test_create_resource_string() 00101 { 00102 m2mresourceinstance_stub::value = NULL; 00103 CHECK(device->create_resource(M2MDevice::Reboot,"test") == NULL); 00104 CHECK(device->create_resource(M2MDevice::ErrorCode,"test") == NULL); 00105 CHECK(device->create_resource(M2MDevice::SupportedBindingMode,"test") == NULL); 00106 // Length 65, should fail 00107 String max_lenght = "65656565656565656565656565656565656565656565656565656565656565656"; 00108 00109 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00110 00111 CHECK(device->create_resource(M2MDevice::Manufacturer,"test") != NULL); 00112 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00113 00114 CHECK(device->create_resource(M2MDevice::Manufacturer,max_lenght) == NULL); 00115 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00116 00117 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00118 m2mresource_stub::bool_value = false; 00119 //Duplicate resource 00120 CHECK(device->create_resource(M2MDevice::Manufacturer,"test") == NULL); 00121 00122 delete m2mobjectinstance_stub::resource; 00123 m2mobjectinstance_stub::resource = NULL; 00124 00125 CHECK(device->create_resource(M2MDevice::DeviceType,"test") != NULL); 00126 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00127 CHECK(device->create_resource(M2MDevice::DeviceType,"") != NULL); 00128 CHECK(device->create_resource(M2MDevice::DeviceType,max_lenght) == NULL); 00129 00130 CHECK(device->create_resource(M2MDevice::ModelNumber,"test") != NULL); 00131 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00132 CHECK(device->create_resource(M2MDevice::ModelNumber,max_lenght) == NULL); 00133 00134 00135 CHECK(device->create_resource(M2MDevice::SerialNumber,"test") != NULL); 00136 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00137 CHECK(device->create_resource(M2MDevice::SerialNumber,max_lenght) == NULL); 00138 00139 00140 CHECK(device->create_resource(M2MDevice::HardwareVersion,"test") != NULL); 00141 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00142 CHECK(device->create_resource(M2MDevice::HardwareVersion,max_lenght) == NULL); 00143 00144 00145 CHECK(device->create_resource(M2MDevice::FirmwareVersion,"test") != NULL); 00146 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00147 CHECK(device->create_resource(M2MDevice::FirmwareVersion,max_lenght) == NULL); 00148 00149 00150 CHECK(device->create_resource(M2MDevice::SoftwareVersion,"test") != NULL); 00151 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00152 CHECK(device->create_resource(M2MDevice::SoftwareVersion,max_lenght) == NULL); 00153 00154 00155 CHECK(device->create_resource(M2MDevice::UTCOffset,"test") != NULL); 00156 CHECK(M2MBase::GET_PUT_ALLOWED == m2mbase_stub::operation); 00157 CHECK(device->create_resource(M2MDevice::UTCOffset,max_lenght) == NULL); 00158 00159 00160 CHECK(device->create_resource(M2MDevice::Timezone,"test") != NULL); 00161 CHECK(M2MBase::GET_PUT_ALLOWED == m2mbase_stub::operation); 00162 CHECK(device->create_resource(M2MDevice::Timezone,max_lenght) == NULL); 00163 00164 CHECK(device->create_resource(M2MDevice::BatteryLevel,"test") == NULL); 00165 CHECK(device->create_resource(M2MDevice::BatteryStatus,"test") == NULL); 00166 CHECK(device->create_resource(M2MDevice::MemoryFree,"test") == NULL); 00167 CHECK(device->create_resource(M2MDevice::MemoryTotal,"test") == NULL); 00168 CHECK(device->create_resource(M2MDevice::ResetErrorCode,"test") == NULL); 00169 CHECK(device->create_resource(M2MDevice::CurrentTime,"test") == NULL); 00170 CHECK(device->create_resource(M2MDevice::AvailablePowerSources,"test") == NULL); 00171 CHECK(device->create_resource(M2MDevice::PowerSourceVoltage,"test") == NULL); 00172 CHECK(device->create_resource(M2MDevice::PowerSourceCurrent,"test") == NULL); 00173 CHECK(device->create_resource(M2MDevice::FactoryReset,"test") == NULL); 00174 00175 delete m2mobjectinstance_stub::create_resource; 00176 m2mobjectinstance_stub::create_resource = NULL; 00177 } 00178 00179 void Test_M2MDevice::test_create_resource_int() 00180 { 00181 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::INTEGER,M2MBase::Dynamic); 00182 00183 CHECK(device->create_resource(M2MDevice::Reboot,10) == NULL); 00184 CHECK(device->create_resource(M2MDevice::SupportedBindingMode,10) == NULL); 00185 00186 CHECK(device->create_resource(M2MDevice::Manufacturer,10) == NULL); 00187 CHECK(device->create_resource(M2MDevice::DeviceType,10) == NULL); 00188 CHECK(device->create_resource(M2MDevice::ModelNumber,10) == NULL); 00189 CHECK(device->create_resource(M2MDevice::SerialNumber,10) == NULL); 00190 CHECK(device->create_resource(M2MDevice::HardwareVersion,10) == NULL); 00191 CHECK(device->create_resource(M2MDevice::FirmwareVersion,10) == NULL); 00192 CHECK(device->create_resource(M2MDevice::SoftwareVersion,10) == NULL); 00193 CHECK(device->create_resource(M2MDevice::UTCOffset,10) == NULL); 00194 CHECK(device->create_resource(M2MDevice::Timezone,10) == NULL); 00195 CHECK(device->create_resource(M2MDevice::FactoryReset,10) == NULL); 00196 00197 m2mbase_stub::void_value = malloc(20); 00198 00199 CHECK(device->create_resource(M2MDevice::BatteryLevel,10) != NULL); 00200 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00201 00202 // Range is above 100 00203 CHECK(device->create_resource(M2MDevice::BatteryLevel,101) == NULL); 00204 00205 CHECK(device->create_resource(M2MDevice::BatteryStatus,4) != NULL); 00206 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00207 00208 // Range is above 6 00209 CHECK(device->create_resource(M2MDevice::BatteryStatus,10) == NULL); 00210 00211 CHECK(device->create_resource(M2MDevice::MemoryFree,10) != NULL); 00212 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00213 00214 CHECK(device->create_resource(M2MDevice::MemoryTotal,10) != NULL); 00215 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation); 00216 00217 CHECK(device->create_resource(M2MDevice::CurrentTime,10) != NULL); 00218 CHECK(M2MBase::GET_PUT_ALLOWED == m2mbase_stub::operation); 00219 00220 free(m2mbase_stub::void_value); 00221 delete m2mobjectinstance_stub::create_resource; 00222 m2mobjectinstance_stub::create_resource = NULL; 00223 } 00224 00225 void Test_M2MDevice::test_create_resource_no_param() 00226 { 00227 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00228 00229 00230 CHECK(device->create_resource(M2MDevice::Reboot) == NULL); 00231 CHECK(device->create_resource(M2MDevice::ErrorCode) == NULL); 00232 CHECK(device->create_resource(M2MDevice::SupportedBindingMode) == NULL); 00233 00234 CHECK(device->create_resource(M2MDevice::Manufacturer) == NULL); 00235 CHECK(device->create_resource(M2MDevice::DeviceType) == NULL); 00236 CHECK(device->create_resource(M2MDevice::ModelNumber) == NULL); 00237 CHECK(device->create_resource(M2MDevice::SerialNumber) == NULL); 00238 CHECK(device->create_resource(M2MDevice::HardwareVersion) == NULL); 00239 CHECK(device->create_resource(M2MDevice::FirmwareVersion) == NULL); 00240 CHECK(device->create_resource(M2MDevice::SoftwareVersion) == NULL); 00241 CHECK(device->create_resource(M2MDevice::UTCOffset) == NULL); 00242 CHECK(device->create_resource(M2MDevice::Timezone) == NULL); 00243 00244 CHECK(device->create_resource(M2MDevice::BatteryLevel) == NULL); 00245 CHECK(device->create_resource(M2MDevice::BatteryStatus) == NULL); 00246 CHECK(device->create_resource(M2MDevice::MemoryFree) == NULL); 00247 CHECK(device->create_resource(M2MDevice::MemoryTotal) == NULL); 00248 CHECK(device->create_resource(M2MDevice::CurrentTime) == NULL); 00249 CHECK(device->create_resource(M2MDevice::AvailablePowerSources) == NULL); 00250 CHECK(device->create_resource(M2MDevice::PowerSourceVoltage) == NULL); 00251 CHECK(device->create_resource(M2MDevice::PowerSourceCurrent) == NULL); 00252 00253 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00254 00255 CHECK(device->create_resource(M2MDevice::ResetErrorCode) != NULL); 00256 00257 CHECK(device->create_resource(M2MDevice::FactoryReset) != NULL); 00258 00259 delete m2mobjectinstance_stub::resource; 00260 m2mobjectinstance_stub::resource = NULL; 00261 00262 CHECK(M2MBase::POST_ALLOWED == m2mbase_stub::operation); 00263 00264 delete m2mobjectinstance_stub::create_resource; 00265 m2mobjectinstance_stub::create_resource = NULL; 00266 00267 00268 } 00269 00270 void Test_M2MDevice::test_delete_resource() 00271 { 00272 m2mobjectinstance_stub::bool_value = true; 00273 00274 CHECK(device->delete_resource(M2MDevice::Reboot) == false); 00275 CHECK(device->delete_resource(M2MDevice::ErrorCode) == false); 00276 CHECK(device->delete_resource(M2MDevice::SupportedBindingMode) == false); 00277 00278 CHECK(device->delete_resource(M2MDevice::Manufacturer) == true); 00279 CHECK(device->delete_resource(M2MDevice::BatteryLevel) == true); 00280 CHECK(device->delete_resource(M2MDevice::FactoryReset) == true); 00281 } 00282 00283 void Test_M2MDevice::test_delete_resource_instance() 00284 { 00285 m2mobjectinstance_stub::bool_value = true; 00286 00287 CHECK(device->delete_resource_instance(M2MDevice::Reboot,0) == false); 00288 CHECK(device->delete_resource_instance(M2MDevice::ErrorCode,0) == false); 00289 CHECK(device->delete_resource_instance(M2MDevice::SupportedBindingMode,0) == false); 00290 00291 CHECK(device->delete_resource_instance(M2MDevice::AvailablePowerSources,0) == true); 00292 CHECK(device->delete_resource_instance(M2MDevice::PowerSourceVoltage,0) == true); 00293 CHECK(device->delete_resource_instance(M2MDevice::PowerSourceCurrent,0) == true); 00294 } 00295 00296 void Test_M2MDevice::test_set_resource_value_string() 00297 { 00298 // Length 65, should fail 00299 m2mresourceinstance_stub::value = NULL; 00300 String max_lenght = "65656565656565656565656565656565656565656565656565656565656565656"; 00301 m2mbase_stub::bool_value = true; 00302 m2mresourceinstance_stub::bool_value = true; 00303 00304 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00305 m2mresource_stub::bool_value = false; 00306 00307 m2mbase_stub::void_value = malloc(20); 00308 00309 CHECK(device->set_resource_value(M2MDevice::Reboot,"test") == false); 00310 CHECK(device->set_resource_value(M2MDevice::ErrorCode,"test") == false); 00311 CHECK(device->set_resource_value(M2MDevice::SupportedBindingMode,"test") == false); 00312 00313 CHECK(device->set_resource_value(M2MDevice::Manufacturer,"test") == true); 00314 CHECK(device->set_resource_value(M2MDevice::Manufacturer,"") == true); 00315 CHECK(device->set_resource_value(M2MDevice::Manufacturer,max_lenght) == false); 00316 CHECK(device->set_resource_value(M2MDevice::DeviceType,"test") == true); 00317 CHECK(device->set_resource_value(M2MDevice::DeviceType,max_lenght) == false); 00318 CHECK(device->set_resource_value(M2MDevice::ModelNumber,"test") == true); 00319 CHECK(device->set_resource_value(M2MDevice::ModelNumber,max_lenght) == false); 00320 CHECK(device->set_resource_value(M2MDevice::SerialNumber,"test") == true); 00321 CHECK(device->set_resource_value(M2MDevice::SerialNumber,max_lenght) == false); 00322 CHECK(device->set_resource_value(M2MDevice::HardwareVersion,"test") == true); 00323 CHECK(device->set_resource_value(M2MDevice::HardwareVersion,max_lenght) == false); 00324 CHECK(device->set_resource_value(M2MDevice::FirmwareVersion,"test") == true); 00325 CHECK(device->set_resource_value(M2MDevice::FirmwareVersion,max_lenght) == false); 00326 CHECK(device->set_resource_value(M2MDevice::SoftwareVersion,"test") == true); 00327 CHECK(device->set_resource_value(M2MDevice::SoftwareVersion,max_lenght) == false); 00328 CHECK(device->set_resource_value(M2MDevice::UTCOffset,"test") == true); 00329 CHECK(device->set_resource_value(M2MDevice::UTCOffset,max_lenght) == false); 00330 CHECK(device->set_resource_value(M2MDevice::Timezone,"test") == true); 00331 CHECK(device->set_resource_value(M2MDevice::Timezone,max_lenght) == false); 00332 CHECK(device->set_resource_value(M2MDevice::Timezone,"") == true); 00333 00334 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,"test") == false); 00335 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,"test") == false); 00336 CHECK(device->set_resource_value(M2MDevice::MemoryFree,"test") == false); 00337 CHECK(device->set_resource_value(M2MDevice::MemoryTotal,"test") == false); 00338 CHECK(device->set_resource_value(M2MDevice::ResetErrorCode,"test") == false); 00339 CHECK(device->set_resource_value(M2MDevice::CurrentTime,"test") == false); 00340 CHECK(device->set_resource_value(M2MDevice::AvailablePowerSources,"test") == false); 00341 CHECK(device->set_resource_value(M2MDevice::PowerSourceVoltage,"test") == false); 00342 CHECK(device->set_resource_value(M2MDevice::PowerSourceCurrent,"test") == false); 00343 CHECK(device->set_resource_value(M2MDevice::FactoryReset,"test") == false); 00344 00345 free(m2mbase_stub::void_value); 00346 delete m2mobjectinstance_stub::resource; 00347 m2mobjectinstance_stub::resource = NULL; 00348 } 00349 00350 void Test_M2MDevice::test_set_resource_value_int() 00351 { 00352 m2mresourceinstance_stub::bool_value = true; 00353 00354 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::INTEGER,M2MBase::Dynamic); 00355 m2mresource_stub::bool_value = false; 00356 00357 m2mbase_stub::void_value = malloc(20); 00358 00359 CHECK(device->set_resource_value(M2MDevice::Reboot,10) == false); 00360 CHECK(device->set_resource_value(M2MDevice::SupportedBindingMode,10) == false); 00361 00362 CHECK(device->set_resource_value(M2MDevice::Manufacturer,10) == false); 00363 CHECK(device->set_resource_value(M2MDevice::DeviceType,10) == false); 00364 CHECK(device->set_resource_value(M2MDevice::ModelNumber,10) == false); 00365 CHECK(device->set_resource_value(M2MDevice::SerialNumber,10) == false); 00366 CHECK(device->set_resource_value(M2MDevice::HardwareVersion,10) == false); 00367 CHECK(device->set_resource_value(M2MDevice::FirmwareVersion,10) == false); 00368 CHECK(device->set_resource_value(M2MDevice::SoftwareVersion,10) == false); 00369 CHECK(device->set_resource_value(M2MDevice::UTCOffset,10) == false); 00370 CHECK(device->set_resource_value(M2MDevice::Timezone,10) == false); 00371 00372 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,-1) == false); 00373 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,10) == true); 00374 CHECK(device->set_resource_value(M2MDevice::BatteryLevel,101) == false); 00375 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,6) == true); 00376 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,-1) == false); 00377 CHECK(device->set_resource_value(M2MDevice::BatteryStatus,7) == false); 00378 CHECK(device->set_resource_value(M2MDevice::MemoryFree,10) == true); 00379 CHECK(device->set_resource_value(M2MDevice::MemoryTotal,10) == true); 00380 CHECK(device->set_resource_value(M2MDevice::CurrentTime,10) == true); 00381 CHECK(device->set_resource_value(M2MDevice::FactoryReset,10) == false); 00382 00383 free(m2mbase_stub::void_value); 00384 delete m2mobjectinstance_stub::resource; 00385 m2mobjectinstance_stub::resource = NULL; 00386 } 00387 00388 void Test_M2MDevice::test_resource_value_int() 00389 { 00390 uint8_t value[] = {"10"}; 00391 uint8_t* ptr = (uint8_t*)malloc((uint32_t)sizeof(value)); 00392 m2mresourceinstance_stub::value = ptr; 00393 memset(m2mresourceinstance_stub::value,0,(uint32_t)sizeof(value)); 00394 memcpy(m2mresourceinstance_stub::value,value,sizeof(value)); 00395 m2mresourceinstance_stub::int_value = (uint32_t)sizeof(value); 00396 00397 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::INTEGER,M2MBase::Dynamic); 00398 00399 m2mresourceinstance_stub::bool_value = true; 00400 m2mresource_stub::bool_value = false; 00401 m2mbase_stub::void_value = malloc(20); 00402 00403 CHECK(device->resource_value_int(M2MDevice::BatteryLevel) == 10); 00404 CHECK(device->resource_value_int(M2MDevice::BatteryStatus) == 10); 00405 CHECK(device->resource_value_int(M2MDevice::MemoryFree) == 10); 00406 CHECK(device->resource_value_int(M2MDevice::MemoryTotal) == 10); 00407 CHECK(device->resource_value_int(M2MDevice::ErrorCode) == 10); 00408 CHECK(device->resource_value_int(M2MDevice::CurrentTime) == 10); 00409 CHECK(device->resource_value_int(M2MDevice::AvailablePowerSources) == 10); 00410 CHECK(device->resource_value_int(M2MDevice::PowerSourceVoltage) == 10); 00411 CHECK(device->resource_value_int(M2MDevice::PowerSourceCurrent) == 10); 00412 CHECK(device->resource_value_int(M2MDevice::Manufacturer) == -1); 00413 00414 m2mresource_stub::instance = new M2MResourceInstance("name","type",M2MResourceInstance::INTEGER,*m2mobject_stub::inst); 00415 m2mresource_stub::bool_value = true; 00416 CHECK(device->resource_value_int(M2MDevice::AvailablePowerSources,1) == 10); 00417 00418 free(m2mbase_stub::void_value); 00419 00420 delete m2mresource_stub::instance; 00421 m2mresource_stub::instance = NULL; 00422 00423 delete m2mobjectinstance_stub::resource; 00424 m2mobjectinstance_stub::resource = NULL; 00425 00426 free(ptr); 00427 } 00428 00429 void Test_M2MDevice::test_resource_value_string() 00430 { 00431 String test = "string"; 00432 uint8_t value[] = {"string"}; 00433 m2mresourceinstance_stub::value = (uint8_t*)malloc((uint32_t)sizeof(value)); 00434 memset(m2mresourceinstance_stub::value,0,(uint32_t)sizeof(value)); 00435 memcpy(m2mresourceinstance_stub::value,value,sizeof(value)); 00436 m2mresourceinstance_stub::int_value = (uint32_t)sizeof(value); 00437 00438 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00439 00440 m2mresourceinstance_stub::bool_value = true; 00441 m2mresource_stub::bool_value = false; 00442 m2mbase_stub::void_value = malloc(20); 00443 00444 CHECK(device->resource_value_string(M2MDevice::Manufacturer) == test); 00445 CHECK(device->resource_value_string(M2MDevice::DeviceType) == test); 00446 CHECK(device->resource_value_string(M2MDevice::ModelNumber) == test); 00447 CHECK(device->resource_value_string(M2MDevice::SerialNumber) == test); 00448 CHECK(device->resource_value_string(M2MDevice::HardwareVersion) == test); 00449 CHECK(device->resource_value_string(M2MDevice::FirmwareVersion) == test); 00450 CHECK(device->resource_value_string(M2MDevice::SoftwareVersion) == test); 00451 CHECK(device->resource_value_string(M2MDevice::UTCOffset) == test); 00452 CHECK(device->resource_value_string(M2MDevice::Timezone) == test); 00453 CHECK(device->resource_value_string(M2MDevice::BatteryLevel) == ""); 00454 00455 free(m2mbase_stub::void_value); 00456 00457 delete m2mobjectinstance_stub::resource; 00458 m2mobjectinstance_stub::resource = NULL; 00459 00460 free(m2mresourceinstance_stub::value); 00461 m2mresourceinstance_stub::value = NULL; 00462 } 00463 00464 void Test_M2MDevice::test_is_resource_present() 00465 { 00466 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,"name","type",M2MResourceInstance::STRING,M2MBase::Dynamic); 00467 m2mresource_stub::bool_value = false; 00468 CHECK(device->is_resource_present(M2MDevice::Reboot) == true); 00469 00470 delete m2mobjectinstance_stub::resource; 00471 m2mobjectinstance_stub::resource = NULL; 00472 00473 CHECK(device->is_resource_present(M2MDevice::Manufacturer) == false); 00474 CHECK(device->is_resource_present(M2MDevice::DeviceType) == false); 00475 } 00476 00477 void Test_M2MDevice::test_per_resource_count() 00478 { 00479 m2mobjectinstance_stub::int_value = 1; 00480 CHECK(device->per_resource_count(M2MDevice::Reboot) == 1); 00481 00482 m2mobjectinstance_stub::int_value = 0; 00483 00484 CHECK(device->per_resource_count(M2MDevice::Manufacturer) == 0); 00485 } 00486 00487 void Test_M2MDevice::test_total_resource_count() 00488 { 00489 M2MResource res(*m2mobject_stub::inst,"test","test",M2MResourceInstance::STRING,M2MBase::Dynamic); 00490 00491 m2mobjectinstance_stub::resource_list.push_back(&res); 00492 M2MResource res2(*m2mobject_stub::inst,"test","test",M2MResourceInstance::STRING,M2MBase::Dynamic); 00493 00494 m2mobjectinstance_stub::resource_list.push_back(&res2); 00495 00496 CHECK(device->total_resource_count() == 2); 00497 00498 m2mobjectinstance_stub::resource_list.clear(); 00499 } 00500
Generated on Tue Jul 12 2022 12:28:53 by
