A metronome using the FRDM K64F board

Committer:
ram54288
Date:
Sun May 14 18:40:18 2017 +0000
Revision:
0:a7a43371b306
Initial commit

Who changed what in which revision?

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