FRDM K64F Metronome

Committer:
ram54288
Date:
Sun May 14 18:35:07 2017 +0000
Revision:
0:a2cb7295a1f7
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:a2cb7295a1f7 1 /*
ram54288 0:a2cb7295a1f7 2 * Copyright (c) 2015 ARM Limited. All rights reserved.
ram54288 0:a2cb7295a1f7 3 * SPDX-License-Identifier: Apache-2.0
ram54288 0:a2cb7295a1f7 4 * Licensed under the Apache License, Version 2.0 (the License); you may
ram54288 0:a2cb7295a1f7 5 * not use this file except in compliance with the License.
ram54288 0:a2cb7295a1f7 6 * You may obtain a copy of the License at
ram54288 0:a2cb7295a1f7 7 *
ram54288 0:a2cb7295a1f7 8 * http://www.apache.org/licenses/LICENSE-2.0
ram54288 0:a2cb7295a1f7 9 *
ram54288 0:a2cb7295a1f7 10 * Unless required by applicable law or agreed to in writing, software
ram54288 0:a2cb7295a1f7 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
ram54288 0:a2cb7295a1f7 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ram54288 0:a2cb7295a1f7 13 * See the License for the specific language governing permissions and
ram54288 0:a2cb7295a1f7 14 * limitations under the License.
ram54288 0:a2cb7295a1f7 15 */
ram54288 0:a2cb7295a1f7 16 #include "CppUTest/TestHarness.h"
ram54288 0:a2cb7295a1f7 17 #include "test_m2mtlvserializer.h"
ram54288 0:a2cb7295a1f7 18 #include "m2mobject_stub.h"
ram54288 0:a2cb7295a1f7 19 #include "m2mobjectinstance_stub.h"
ram54288 0:a2cb7295a1f7 20 #include "m2mresource_stub.h"
ram54288 0:a2cb7295a1f7 21 #include "m2mresourceinstance_stub.h"
ram54288 0:a2cb7295a1f7 22 #include "m2mbase_stub.h"
ram54288 0:a2cb7295a1f7 23
ram54288 0:a2cb7295a1f7 24
ram54288 0:a2cb7295a1f7 25 Test_M2MTLVSerializer::Test_M2MTLVSerializer()
ram54288 0:a2cb7295a1f7 26 {
ram54288 0:a2cb7295a1f7 27 serializer = new M2MTLVSerializer();
ram54288 0:a2cb7295a1f7 28 }
ram54288 0:a2cb7295a1f7 29
ram54288 0:a2cb7295a1f7 30 Test_M2MTLVSerializer::~Test_M2MTLVSerializer()
ram54288 0:a2cb7295a1f7 31 {
ram54288 0:a2cb7295a1f7 32 delete serializer;
ram54288 0:a2cb7295a1f7 33 }
ram54288 0:a2cb7295a1f7 34
ram54288 0:a2cb7295a1f7 35 void Test_M2MTLVSerializer::test_serialize_object()
ram54288 0:a2cb7295a1f7 36 {
ram54288 0:a2cb7295a1f7 37 uint32_t size = 0;
ram54288 0:a2cb7295a1f7 38 uint8_t *data = 0;
ram54288 0:a2cb7295a1f7 39
ram54288 0:a2cb7295a1f7 40 M2MObject *object = new M2MObject("1", "1");
ram54288 0:a2cb7295a1f7 41 M2MObjectInstance* instance = new M2MObjectInstance(*object,"1", "type", "1");
ram54288 0:a2cb7295a1f7 42
ram54288 0:a2cb7295a1f7 43 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:a2cb7295a1f7 44
ram54288 0:a2cb7295a1f7 45
ram54288 0:a2cb7295a1f7 46
ram54288 0:a2cb7295a1f7 47 M2MResource* resource = new M2MResource(*instance,
ram54288 0:a2cb7295a1f7 48 "1",
ram54288 0:a2cb7295a1f7 49 "type",
ram54288 0:a2cb7295a1f7 50 M2MResourceInstance::INTEGER,
ram54288 0:a2cb7295a1f7 51 false,
ram54288 0:a2cb7295a1f7 52 "1");
ram54288 0:a2cb7295a1f7 53
ram54288 0:a2cb7295a1f7 54
ram54288 0:a2cb7295a1f7 55 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:a2cb7295a1f7 56
ram54288 0:a2cb7295a1f7 57 m2mbase_stub::name_id_value = 0;
ram54288 0:a2cb7295a1f7 58 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 59 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 60
ram54288 0:a2cb7295a1f7 61 if(data) {
ram54288 0:a2cb7295a1f7 62 free(data);
ram54288 0:a2cb7295a1f7 63 data = 0;
ram54288 0:a2cb7295a1f7 64 }
ram54288 0:a2cb7295a1f7 65
ram54288 0:a2cb7295a1f7 66 M2MResourceInstance* res_instance = new M2MResourceInstance(*m2mobjectinstance_stub::resource,
ram54288 0:a2cb7295a1f7 67 "1",
ram54288 0:a2cb7295a1f7 68 "type",
ram54288 0:a2cb7295a1f7 69 M2MResourceInstance::STRING,
ram54288 0:a2cb7295a1f7 70 0,
ram54288 0:a2cb7295a1f7 71 "1",
ram54288 0:a2cb7295a1f7 72 false);
ram54288 0:a2cb7295a1f7 73
ram54288 0:a2cb7295a1f7 74 M2MResourceInstance* res_instance_1 = new M2MResourceInstance(*m2mobjectinstance_stub::resource,
ram54288 0:a2cb7295a1f7 75 "2",
ram54288 0:a2cb7295a1f7 76 "type",
ram54288 0:a2cb7295a1f7 77 M2MResourceInstance::STRING,
ram54288 0:a2cb7295a1f7 78 0,
ram54288 0:a2cb7295a1f7 79 "2",
ram54288 0:a2cb7295a1f7 80 false);
ram54288 0:a2cb7295a1f7 81
ram54288 0:a2cb7295a1f7 82
ram54288 0:a2cb7295a1f7 83 m2mresource_stub::bool_value = true;
ram54288 0:a2cb7295a1f7 84 m2mresource_stub::list.push_back(res_instance);
ram54288 0:a2cb7295a1f7 85 m2mresource_stub::list.push_back(res_instance_1);
ram54288 0:a2cb7295a1f7 86 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 87 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 88
ram54288 0:a2cb7295a1f7 89 if(data) {
ram54288 0:a2cb7295a1f7 90 free(data);
ram54288 0:a2cb7295a1f7 91 data = 0;
ram54288 0:a2cb7295a1f7 92 }
ram54288 0:a2cb7295a1f7 93
ram54288 0:a2cb7295a1f7 94 m2mbase_stub::name_id_value = 256;
ram54288 0:a2cb7295a1f7 95
ram54288 0:a2cb7295a1f7 96 m2mresourceinstance_stub::int_value = 6;
ram54288 0:a2cb7295a1f7 97 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:a2cb7295a1f7 98 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 99 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 100
ram54288 0:a2cb7295a1f7 101 if(data) {
ram54288 0:a2cb7295a1f7 102 free(data);
ram54288 0:a2cb7295a1f7 103 data = 0;
ram54288 0:a2cb7295a1f7 104 }
ram54288 0:a2cb7295a1f7 105 free(m2mresourceinstance_stub::value);
ram54288 0:a2cb7295a1f7 106 m2mresourceinstance_stub::value = NULL;
ram54288 0:a2cb7295a1f7 107
ram54288 0:a2cb7295a1f7 108 m2mresourceinstance_stub::int_value = 256;
ram54288 0:a2cb7295a1f7 109 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:a2cb7295a1f7 110 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 111 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 112
ram54288 0:a2cb7295a1f7 113 if(data) {
ram54288 0:a2cb7295a1f7 114 free(data);
ram54288 0:a2cb7295a1f7 115 data = 0;
ram54288 0:a2cb7295a1f7 116 }
ram54288 0:a2cb7295a1f7 117 free(m2mresourceinstance_stub::value);
ram54288 0:a2cb7295a1f7 118 m2mresourceinstance_stub::value = NULL;
ram54288 0:a2cb7295a1f7 119
ram54288 0:a2cb7295a1f7 120 m2mresourceinstance_stub::int_value = 65536;
ram54288 0:a2cb7295a1f7 121 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:a2cb7295a1f7 122 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 123 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 124
ram54288 0:a2cb7295a1f7 125 if(data) {
ram54288 0:a2cb7295a1f7 126 free(data);
ram54288 0:a2cb7295a1f7 127 data = 0;
ram54288 0:a2cb7295a1f7 128 }
ram54288 0:a2cb7295a1f7 129
ram54288 0:a2cb7295a1f7 130 m2mbase_stub::name_id_value = -1;
ram54288 0:a2cb7295a1f7 131 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 132 CHECK(data == NULL);
ram54288 0:a2cb7295a1f7 133
ram54288 0:a2cb7295a1f7 134 delete res_instance_1;
ram54288 0:a2cb7295a1f7 135 delete res_instance;
ram54288 0:a2cb7295a1f7 136 delete resource;
ram54288 0:a2cb7295a1f7 137 delete instance;
ram54288 0:a2cb7295a1f7 138 delete object;
ram54288 0:a2cb7295a1f7 139
ram54288 0:a2cb7295a1f7 140 free(m2mresourceinstance_stub::value);
ram54288 0:a2cb7295a1f7 141
ram54288 0:a2cb7295a1f7 142 m2mresourceinstance_stub::clear();
ram54288 0:a2cb7295a1f7 143 m2mresource_stub::clear();
ram54288 0:a2cb7295a1f7 144 m2mobjectinstance_stub::clear();
ram54288 0:a2cb7295a1f7 145 m2mobject_stub::clear();
ram54288 0:a2cb7295a1f7 146 }
ram54288 0:a2cb7295a1f7 147
ram54288 0:a2cb7295a1f7 148 void Test_M2MTLVSerializer::test_serialize_object_instance()
ram54288 0:a2cb7295a1f7 149 {
ram54288 0:a2cb7295a1f7 150 M2MObject *object = new M2MObject("1", "1");
ram54288 0:a2cb7295a1f7 151 M2MObjectInstance* instance = new M2MObjectInstance(*object,"1","type", "1");
ram54288 0:a2cb7295a1f7 152
ram54288 0:a2cb7295a1f7 153 uint32_t size = 0;
ram54288 0:a2cb7295a1f7 154 uint8_t *data = 0;
ram54288 0:a2cb7295a1f7 155 m2mbase_stub::name_id_value = 0;
ram54288 0:a2cb7295a1f7 156 M2MResource* resource = new M2MResource(*instance,
ram54288 0:a2cb7295a1f7 157 "1",
ram54288 0:a2cb7295a1f7 158 "type",
ram54288 0:a2cb7295a1f7 159 M2MResourceInstance::STRING,
ram54288 0:a2cb7295a1f7 160 false,
ram54288 0:a2cb7295a1f7 161 "1");
ram54288 0:a2cb7295a1f7 162
ram54288 0:a2cb7295a1f7 163 M2MResourceInstance* res_instance = new M2MResourceInstance(*resource,
ram54288 0:a2cb7295a1f7 164 "1",
ram54288 0:a2cb7295a1f7 165 "type",
ram54288 0:a2cb7295a1f7 166 M2MResourceInstance::STRING,
ram54288 0:a2cb7295a1f7 167 0,
ram54288 0:a2cb7295a1f7 168 "1",
ram54288 0:a2cb7295a1f7 169 false);
ram54288 0:a2cb7295a1f7 170
ram54288 0:a2cb7295a1f7 171 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a2cb7295a1f7 172 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:a2cb7295a1f7 173
ram54288 0:a2cb7295a1f7 174 m2mresource_stub::bool_value = true;
ram54288 0:a2cb7295a1f7 175 m2mresource_stub::list.push_back(res_instance);
ram54288 0:a2cb7295a1f7 176
ram54288 0:a2cb7295a1f7 177 m2mbase_stub::operation = M2MBase::GET_ALLOWED;
ram54288 0:a2cb7295a1f7 178
ram54288 0:a2cb7295a1f7 179 data = serializer->serialize( m2mobjectinstance_stub::resource_list,size);
ram54288 0:a2cb7295a1f7 180 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 181
ram54288 0:a2cb7295a1f7 182 if(data) {
ram54288 0:a2cb7295a1f7 183 free(data);
ram54288 0:a2cb7295a1f7 184 data = NULL;
ram54288 0:a2cb7295a1f7 185 }
ram54288 0:a2cb7295a1f7 186
ram54288 0:a2cb7295a1f7 187
ram54288 0:a2cb7295a1f7 188 m2mbase_stub::name_id_value = -1;
ram54288 0:a2cb7295a1f7 189 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 190 CHECK(data == NULL);
ram54288 0:a2cb7295a1f7 191
ram54288 0:a2cb7295a1f7 192 delete res_instance;
ram54288 0:a2cb7295a1f7 193 delete resource;
ram54288 0:a2cb7295a1f7 194 delete instance;
ram54288 0:a2cb7295a1f7 195 delete object;
ram54288 0:a2cb7295a1f7 196
ram54288 0:a2cb7295a1f7 197 m2mresource_stub::clear();
ram54288 0:a2cb7295a1f7 198 m2mobjectinstance_stub::clear();
ram54288 0:a2cb7295a1f7 199 m2mobject_stub::clear();
ram54288 0:a2cb7295a1f7 200 }
ram54288 0:a2cb7295a1f7 201
ram54288 0:a2cb7295a1f7 202 void Test_M2MTLVSerializer::test_serialize_resource()
ram54288 0:a2cb7295a1f7 203 {
ram54288 0:a2cb7295a1f7 204 M2MObject *object = new M2MObject("1","1");
ram54288 0:a2cb7295a1f7 205 M2MObjectInstance* instance =new M2MObjectInstance(*object,"1","type", "1");
ram54288 0:a2cb7295a1f7 206
ram54288 0:a2cb7295a1f7 207 uint32_t size = 0;
ram54288 0:a2cb7295a1f7 208 uint8_t *data = 0;
ram54288 0:a2cb7295a1f7 209 m2mbase_stub::name_id_value = 0;
ram54288 0:a2cb7295a1f7 210 M2MResource* resource = new M2MResource(*instance,
ram54288 0:a2cb7295a1f7 211 "1",
ram54288 0:a2cb7295a1f7 212 "type",
ram54288 0:a2cb7295a1f7 213 M2MResourceInstance::INTEGER,
ram54288 0:a2cb7295a1f7 214 false,
ram54288 0:a2cb7295a1f7 215 "1");
ram54288 0:a2cb7295a1f7 216
ram54288 0:a2cb7295a1f7 217 M2MResourceInstance* res_instance = new M2MResourceInstance(*resource,
ram54288 0:a2cb7295a1f7 218 "1",
ram54288 0:a2cb7295a1f7 219 "type",
ram54288 0:a2cb7295a1f7 220 M2MResourceInstance::INTEGER,
ram54288 0:a2cb7295a1f7 221 0,
ram54288 0:a2cb7295a1f7 222 "1",
ram54288 0:a2cb7295a1f7 223 false);
ram54288 0:a2cb7295a1f7 224
ram54288 0:a2cb7295a1f7 225
ram54288 0:a2cb7295a1f7 226 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a2cb7295a1f7 227 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:a2cb7295a1f7 228
ram54288 0:a2cb7295a1f7 229 m2mresource_stub::bool_value = true;
ram54288 0:a2cb7295a1f7 230 m2mresource_stub::list.push_back(res_instance);
ram54288 0:a2cb7295a1f7 231
ram54288 0:a2cb7295a1f7 232 m2mbase_stub::operation = M2MBase::GET_ALLOWED;
ram54288 0:a2cb7295a1f7 233
ram54288 0:a2cb7295a1f7 234 data = serializer->serialize( resource,size);
ram54288 0:a2cb7295a1f7 235 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 236
ram54288 0:a2cb7295a1f7 237 if(data) {
ram54288 0:a2cb7295a1f7 238 free(data);
ram54288 0:a2cb7295a1f7 239 data = NULL;
ram54288 0:a2cb7295a1f7 240 }
ram54288 0:a2cb7295a1f7 241
ram54288 0:a2cb7295a1f7 242 m2mbase_stub::name_id_value = -1;
ram54288 0:a2cb7295a1f7 243 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 244 CHECK(data == NULL);
ram54288 0:a2cb7295a1f7 245
ram54288 0:a2cb7295a1f7 246 delete res_instance;
ram54288 0:a2cb7295a1f7 247 delete resource;
ram54288 0:a2cb7295a1f7 248 delete instance;
ram54288 0:a2cb7295a1f7 249 delete object;
ram54288 0:a2cb7295a1f7 250
ram54288 0:a2cb7295a1f7 251 m2mresource_stub::clear();
ram54288 0:a2cb7295a1f7 252 m2mobjectinstance_stub::clear();
ram54288 0:a2cb7295a1f7 253 m2mobject_stub::clear();
ram54288 0:a2cb7295a1f7 254 }
ram54288 0:a2cb7295a1f7 255
ram54288 0:a2cb7295a1f7 256 void Test_M2MTLVSerializer::test_serialize_resource_instance()
ram54288 0:a2cb7295a1f7 257 {
ram54288 0:a2cb7295a1f7 258 M2MObject *object = new M2MObject("1","1");
ram54288 0:a2cb7295a1f7 259 M2MObjectInstance* instance = new M2MObjectInstance(*object,"1","type", "1");
ram54288 0:a2cb7295a1f7 260
ram54288 0:a2cb7295a1f7 261 uint32_t size = 0;
ram54288 0:a2cb7295a1f7 262 uint8_t *data = 0;
ram54288 0:a2cb7295a1f7 263 m2mbase_stub::name_id_value = 0;
ram54288 0:a2cb7295a1f7 264 M2MResource* resource = new M2MResource(*instance,
ram54288 0:a2cb7295a1f7 265 "1",
ram54288 0:a2cb7295a1f7 266 "type",
ram54288 0:a2cb7295a1f7 267 M2MResourceInstance::INTEGER,
ram54288 0:a2cb7295a1f7 268 false,
ram54288 0:a2cb7295a1f7 269 "1");
ram54288 0:a2cb7295a1f7 270
ram54288 0:a2cb7295a1f7 271 M2MResourceInstance* res_instance = new M2MResourceInstance(*resource,
ram54288 0:a2cb7295a1f7 272 "1",
ram54288 0:a2cb7295a1f7 273 "type",
ram54288 0:a2cb7295a1f7 274 M2MResourceInstance::INTEGER,
ram54288 0:a2cb7295a1f7 275 0,
ram54288 0:a2cb7295a1f7 276 "1",
ram54288 0:a2cb7295a1f7 277 false);
ram54288 0:a2cb7295a1f7 278
ram54288 0:a2cb7295a1f7 279
ram54288 0:a2cb7295a1f7 280 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a2cb7295a1f7 281 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:a2cb7295a1f7 282
ram54288 0:a2cb7295a1f7 283 m2mresource_stub::bool_value = true;
ram54288 0:a2cb7295a1f7 284 m2mresource_stub::list.push_back(res_instance);
ram54288 0:a2cb7295a1f7 285
ram54288 0:a2cb7295a1f7 286 m2mbase_stub::operation = M2MBase::GET_ALLOWED;
ram54288 0:a2cb7295a1f7 287
ram54288 0:a2cb7295a1f7 288 data = serializer->serialize( m2mobjectinstance_stub::resource_list,size);
ram54288 0:a2cb7295a1f7 289 CHECK(data != NULL);
ram54288 0:a2cb7295a1f7 290
ram54288 0:a2cb7295a1f7 291 if(data) {
ram54288 0:a2cb7295a1f7 292 free(data);
ram54288 0:a2cb7295a1f7 293 data = NULL;
ram54288 0:a2cb7295a1f7 294 }
ram54288 0:a2cb7295a1f7 295
ram54288 0:a2cb7295a1f7 296
ram54288 0:a2cb7295a1f7 297 m2mbase_stub::name_id_value = -1;
ram54288 0:a2cb7295a1f7 298 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:a2cb7295a1f7 299 CHECK(data == NULL);
ram54288 0:a2cb7295a1f7 300
ram54288 0:a2cb7295a1f7 301 delete res_instance;
ram54288 0:a2cb7295a1f7 302 delete resource;
ram54288 0:a2cb7295a1f7 303 delete instance;
ram54288 0:a2cb7295a1f7 304 delete object;
ram54288 0:a2cb7295a1f7 305
ram54288 0:a2cb7295a1f7 306 m2mresource_stub::clear();
ram54288 0:a2cb7295a1f7 307 m2mobjectinstance_stub::clear();
ram54288 0:a2cb7295a1f7 308 m2mobject_stub::clear();
ram54288 0:a2cb7295a1f7 309 }