Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
FCH_31
Date:
Mon Oct 22 09:37:50 2018 +0000
Revision:
41:5a436163dddf
Parent:
24:92c30dabfda4
avec radio;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
patrick_duc 22:a5929d3668b6 1 #include <iostream>
patrick_duc 22:a5929d3668b6 2 #include <cstdlib>
patrick_duc 22:a5929d3668b6 3 #include <string>
patrick_duc 22:a5929d3668b6 4 #include <string.h>
patrick_duc 22:a5929d3668b6 5
patrick_duc 22:a5929d3668b6 6 #include "Context.h"
patrick_duc 22:a5929d3668b6 7
patrick_duc 22:a5929d3668b6 8 #include "Value.hpp"
patrick_duc 22:a5929d3668b6 9
patrick_duc 22:a5929d3668b6 10
patrick_duc 22:a5929d3668b6 11 using namespace misnet;
patrick_duc 22:a5929d3668b6 12
patrick_duc 22:a5929d3668b6 13
patrick_duc 22:a5929d3668b6 14 typedef struct {
patrick_duc 22:a5929d3668b6 15 Value * value;
patrick_duc 22:a5929d3668b6 16 Value * value_to_substract;
patrick_duc 22:a5929d3668b6 17 Value * delta;
patrick_duc 22:a5929d3668b6 18 bool expected_result;
patrick_duc 22:a5929d3668b6 19 bool * flag_erreur;
patrick_duc 22:a5929d3668b6 20 } IDGTD_struct;
patrick_duc 22:a5929d3668b6 21
patrick_duc 22:a5929d3668b6 22
patrick_duc 22:a5929d3668b6 23 typedef struct {
patrick_duc 22:a5929d3668b6 24 Value * value;
patrick_duc 22:a5929d3668b6 25 const char * chaine;
patrick_duc 22:a5929d3668b6 26 bool * flag_erreur;
patrick_duc 22:a5929d3668b6 27 } GVAS_struct;
patrick_duc 22:a5929d3668b6 28
patrick_duc 22:a5929d3668b6 29
patrick_duc 22:a5929d3668b6 30 static void testDifferencesWithDelta() {
patrick_duc 24:92c30dabfda4 31 //Value::GENERIC_VALUE gen_val_1 = { .value.uint8_value=220, .type=Value::UINT8_T };
patrick_duc 24:92c30dabfda4 32 //Value value_1(gen_val_1), value_to_substract, delta;
patrick_duc 24:92c30dabfda4 33 Value value_1, value_to_substract, delta;
patrick_duc 22:a5929d3668b6 34
patrick_duc 24:92c30dabfda4 35 value_1.setUint8Value(220);
patrick_duc 24:92c30dabfda4 36 /*
patrick_duc 24:92c30dabfda4 37 DEBUG("Valeur de value_1 : %s\n", value_1.toString().c_str());
patrick_duc 24:92c30dabfda4 38 DEBUG("Type de value_1 : %d\n", value_1.getType());
patrick_duc 24:92c30dabfda4 39 */
patrick_duc 24:92c30dabfda4 40 // std::cout << "Valeur de value_1 : " << value_1.toString() << std::endl;
patrick_duc 24:92c30dabfda4 41
patrick_duc 22:a5929d3668b6 42 value_to_substract.setUint8Value(218);
patrick_duc 22:a5929d3668b6 43 delta.setUint8Value(1);
patrick_duc 22:a5929d3668b6 44
patrick_duc 22:a5929d3668b6 45 if (value_1.isAbsoluteDifferenceValueGreaterThanDelta(value_to_substract, delta) == false) {
patrick_duc 22:a5929d3668b6 46 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 !\n");
patrick_duc 22:a5929d3668b6 47 }
patrick_duc 22:a5929d3668b6 48 else {
patrick_duc 22:a5929d3668b6 49 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 OK\n");
patrick_duc 22:a5929d3668b6 50 }
patrick_duc 22:a5929d3668b6 51
patrick_duc 22:a5929d3668b6 52 delta.setUint8Value(3);
patrick_duc 22:a5929d3668b6 53
patrick_duc 22:a5929d3668b6 54 if (value_1.isAbsoluteDifferenceValueGreaterThanDelta(value_to_substract, delta) == true) {
patrick_duc 22:a5929d3668b6 55 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 !\n");
patrick_duc 22:a5929d3668b6 56 }
patrick_duc 22:a5929d3668b6 57 else {
patrick_duc 22:a5929d3668b6 58 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 OK\n");
patrick_duc 22:a5929d3668b6 59 }
patrick_duc 22:a5929d3668b6 60
patrick_duc 22:a5929d3668b6 61 bool erreur_bool = false;
patrick_duc 24:92c30dabfda4 62 bool erreur_char = false;
patrick_duc 24:92c30dabfda4 63 bool erreur_uint8 = false;
patrick_duc 24:92c30dabfda4 64 bool erreur_int8 = false;
patrick_duc 24:92c30dabfda4 65 bool erreur_uint16 = false;
patrick_duc 24:92c30dabfda4 66 bool erreur_int16 = false;
patrick_duc 24:92c30dabfda4 67 bool erreur_uint32 = false;
patrick_duc 24:92c30dabfda4 68 bool erreur_int32 = false;
patrick_duc 24:92c30dabfda4 69 bool erreur_float = false;
patrick_duc 24:92c30dabfda4 70 bool erreur_double = false;
patrick_duc 24:92c30dabfda4 71 bool erreur_time = false;
patrick_duc 24:92c30dabfda4 72 bool erreur_triple_double = false;
patrick_duc 22:a5929d3668b6 73
patrick_duc 24:92c30dabfda4 74 Value bool_value, bool_value_to_substract, bool_delta;
patrick_duc 24:92c30dabfda4 75 bool_value.setBoolValue(false);
patrick_duc 24:92c30dabfda4 76 bool_value_to_substract.setBoolValue(false);
patrick_duc 24:92c30dabfda4 77 bool_delta.setBoolValue(true);
patrick_duc 24:92c30dabfda4 78
patrick_duc 24:92c30dabfda4 79 Value char_value, char_value_to_substract, char_delta;
patrick_duc 24:92c30dabfda4 80 char_value.setCharValue('r');
patrick_duc 24:92c30dabfda4 81 char_value_to_substract.setCharValue('0');
patrick_duc 24:92c30dabfda4 82 char_delta.setCharValue('0');
patrick_duc 22:a5929d3668b6 83
patrick_duc 24:92c30dabfda4 84 Value uint8_value, uint8_value_to_substract, uint8_delta;
patrick_duc 24:92c30dabfda4 85 uint8_value.setUint8Value(219);
patrick_duc 24:92c30dabfda4 86 uint8_value_to_substract.setUint8Value(212);
patrick_duc 24:92c30dabfda4 87 uint8_delta.setUint8Value(5);
patrick_duc 22:a5929d3668b6 88
patrick_duc 24:92c30dabfda4 89 Value int8_value, int8_value_to_substract, int8_delta;
patrick_duc 24:92c30dabfda4 90 int8_value.setInt8Value(-110);
patrick_duc 24:92c30dabfda4 91 int8_value_to_substract.setInt8Value(-112);
patrick_duc 24:92c30dabfda4 92 int8_delta.setInt8Value(3);
patrick_duc 22:a5929d3668b6 93
patrick_duc 24:92c30dabfda4 94 Value uint16_value, uint16_value_to_substract, uint16_delta;
patrick_duc 24:92c30dabfda4 95 uint16_value.setUint16Value(1016);
patrick_duc 24:92c30dabfda4 96 uint16_value_to_substract.setUint16Value(12);
patrick_duc 24:92c30dabfda4 97 uint16_delta.setUint16Value(15);
patrick_duc 22:a5929d3668b6 98
patrick_duc 24:92c30dabfda4 99 Value int16_value, int16_value_to_substract, int16_delta;
patrick_duc 24:92c30dabfda4 100 int16_value.setInt16Value(1016);
patrick_duc 24:92c30dabfda4 101 int16_value_to_substract.setInt16Value(1015);
patrick_duc 24:92c30dabfda4 102 int16_delta.setInt16Value(2);
patrick_duc 22:a5929d3668b6 103
patrick_duc 24:92c30dabfda4 104 Value uint32_value, uint32_value_to_substract, uint32_delta;
patrick_duc 24:92c30dabfda4 105 uint32_value.setUint32Value(10161016);
patrick_duc 24:92c30dabfda4 106 uint32_value_to_substract.setUint32Value(10161116);
patrick_duc 24:92c30dabfda4 107 uint32_delta.setUint32Value(100);
patrick_duc 22:a5929d3668b6 108
patrick_duc 24:92c30dabfda4 109 Value int32_value, int32_value_to_substract, int32_delta;
patrick_duc 24:92c30dabfda4 110 int32_value.setInt32Value(-10160000);
patrick_duc 24:92c30dabfda4 111 int32_value_to_substract.setInt32Value(-10160001);
patrick_duc 24:92c30dabfda4 112 int32_delta.setInt32Value(15);
patrick_duc 22:a5929d3668b6 113
patrick_duc 24:92c30dabfda4 114 Value float_value, float_value_to_substract, float_delta;
patrick_duc 24:92c30dabfda4 115 float_value.setFloatValue(-1010.876);
patrick_duc 24:92c30dabfda4 116 float_value_to_substract.setFloatValue(-1010.77);
patrick_duc 24:92c30dabfda4 117 float_delta.setFloatValue(0.2);
patrick_duc 22:a5929d3668b6 118
patrick_duc 24:92c30dabfda4 119 Value double_value, double_value_to_substract, double_delta;
patrick_duc 24:92c30dabfda4 120 double_value.setDoubleValue(-1010.876543);
patrick_duc 24:92c30dabfda4 121 double_value_to_substract.setDoubleValue(-1010.876);
patrick_duc 24:92c30dabfda4 122 double_delta.setDoubleValue(0.00001);
patrick_duc 22:a5929d3668b6 123
patrick_duc 24:92c30dabfda4 124 Value time_value, time_value_to_substract, time_delta;
patrick_duc 24:92c30dabfda4 125 time_value.setTimeValue(1010101010);
patrick_duc 24:92c30dabfda4 126 time_value_to_substract.setTimeValue(1010101010);
patrick_duc 24:92c30dabfda4 127 time_delta.setTimeValue(10);
patrick_duc 24:92c30dabfda4 128
patrick_duc 24:92c30dabfda4 129 Value triple_double_value, triple_double_value_to_substract, triple_double_delta;
patrick_duc 24:92c30dabfda4 130 triple_double_value.setTripleDoubleValue(-777.77, -666.66, 555.55);
patrick_duc 24:92c30dabfda4 131 triple_double_value_to_substract.setTripleDoubleValue(-777.0, -666.66, 555.55);
patrick_duc 24:92c30dabfda4 132 triple_double_delta.setTripleDoubleValue(0.1, 0.001, 0.001);
patrick_duc 22:a5929d3668b6 133
patrick_duc 24:92c30dabfda4 134 IDGTD_struct tableau[50] = {
patrick_duc 24:92c30dabfda4 135 { &bool_value, &bool_value_to_substract, &bool_delta, false, &erreur_bool },
patrick_duc 24:92c30dabfda4 136 { &char_value, &char_value_to_substract, &char_delta, true, &erreur_char },
patrick_duc 24:92c30dabfda4 137 { &uint8_value, &uint8_value_to_substract, &uint8_delta, true, &erreur_uint8 },
patrick_duc 24:92c30dabfda4 138 { &int8_value, &int8_value_to_substract, &int8_delta, false, &erreur_int8 },
patrick_duc 24:92c30dabfda4 139 { &uint16_value, &uint16_value_to_substract, &uint16_delta, true, &erreur_uint16 },
patrick_duc 24:92c30dabfda4 140 { &int16_value, &int16_value_to_substract, &int16_delta, false, &erreur_int16 },
patrick_duc 24:92c30dabfda4 141 { &uint32_value, &uint32_value_to_substract, &uint32_delta, false, &erreur_uint32 },
patrick_duc 24:92c30dabfda4 142 { &int32_value, &int32_value_to_substract, &int32_delta, false, &erreur_int32 },
patrick_duc 24:92c30dabfda4 143 { &float_value, &float_value_to_substract, &float_delta, false, &erreur_float },
patrick_duc 24:92c30dabfda4 144 { &double_value, &double_value_to_substract, &double_delta, true, &erreur_double },
patrick_duc 24:92c30dabfda4 145 { &time_value, &time_value_to_substract, &time_delta, false, &erreur_time },
patrick_duc 24:92c30dabfda4 146 { &triple_double_value, &triple_double_value_to_substract, &triple_double_delta, false, &erreur_double }
patrick_duc 24:92c30dabfda4 147 };
patrick_duc 22:a5929d3668b6 148
patrick_duc 24:92c30dabfda4 149 for (int i = 0; i < 12; i++) {
patrick_duc 24:92c30dabfda4 150 //DEBUG("Value[%d]= %s\n", i, tableau[i].value->toString().c_str());
patrick_duc 24:92c30dabfda4 151 if (tableau[i].value->isAbsoluteDifferenceValueGreaterThanDelta(*(tableau[i].value_to_substract),
patrick_duc 24:92c30dabfda4 152 *(tableau[i].delta)) != tableau[i].expected_result) {
patrick_duc 24:92c30dabfda4 153 DEBUG("Expected : %s, obtained : %s\n", tableau[i].expected_result ? "true" : "false",
patrick_duc 24:92c30dabfda4 154 tableau[i].value->isAbsoluteDifferenceValueGreaterThanDelta(*(tableau[i].value_to_substract), *(tableau[i].delta)) ? "true" : "false");
patrick_duc 24:92c30dabfda4 155 *(tableau[i].flag_erreur) = true;
patrick_duc 24:92c30dabfda4 156 }
patrick_duc 24:92c30dabfda4 157 }
patrick_duc 22:a5929d3668b6 158
patrick_duc 22:a5929d3668b6 159
patrick_duc 24:92c30dabfda4 160 if (erreur_bool) {
patrick_duc 24:92c30dabfda4 161 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs bool !\n");
patrick_duc 24:92c30dabfda4 162 }
patrick_duc 24:92c30dabfda4 163 else {
patrick_duc 24:92c30dabfda4 164 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs bool OK\n");
patrick_duc 24:92c30dabfda4 165 }
patrick_duc 22:a5929d3668b6 166
patrick_duc 24:92c30dabfda4 167 if (erreur_char) {
patrick_duc 24:92c30dabfda4 168 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs char !\n");
patrick_duc 24:92c30dabfda4 169 }
patrick_duc 24:92c30dabfda4 170 else {
patrick_duc 24:92c30dabfda4 171 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs char OK\n");
patrick_duc 24:92c30dabfda4 172 }
patrick_duc 24:92c30dabfda4 173
patrick_duc 24:92c30dabfda4 174 if (erreur_uint8) {
patrick_duc 24:92c30dabfda4 175 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 !\n");
patrick_duc 24:92c30dabfda4 176 }
patrick_duc 24:92c30dabfda4 177 else {
patrick_duc 24:92c30dabfda4 178 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 OK\n");
patrick_duc 24:92c30dabfda4 179 }
patrick_duc 22:a5929d3668b6 180
patrick_duc 24:92c30dabfda4 181 if (erreur_int8) {
patrick_duc 24:92c30dabfda4 182 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs int8 !\n");
patrick_duc 24:92c30dabfda4 183 }
patrick_duc 24:92c30dabfda4 184 else {
patrick_duc 24:92c30dabfda4 185 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs int8 OK\n");
patrick_duc 24:92c30dabfda4 186 }
patrick_duc 22:a5929d3668b6 187
patrick_duc 24:92c30dabfda4 188 if (erreur_uint16) {
patrick_duc 24:92c30dabfda4 189 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint16 !\n");
patrick_duc 24:92c30dabfda4 190 }
patrick_duc 24:92c30dabfda4 191 else {
patrick_duc 24:92c30dabfda4 192 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint16 OK\n");
patrick_duc 24:92c30dabfda4 193 }
patrick_duc 22:a5929d3668b6 194
patrick_duc 24:92c30dabfda4 195 if (erreur_int16) {
patrick_duc 24:92c30dabfda4 196 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs int16 !\n");
patrick_duc 24:92c30dabfda4 197 }
patrick_duc 24:92c30dabfda4 198 else {
patrick_duc 24:92c30dabfda4 199 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs int16 OK\n");
patrick_duc 24:92c30dabfda4 200 }
patrick_duc 22:a5929d3668b6 201
patrick_duc 24:92c30dabfda4 202 if (erreur_uint32) {
patrick_duc 24:92c30dabfda4 203 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint32 !\n");
patrick_duc 24:92c30dabfda4 204 }
patrick_duc 24:92c30dabfda4 205 else {
patrick_duc 24:92c30dabfda4 206 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint32 OK\n");
patrick_duc 24:92c30dabfda4 207 }
patrick_duc 22:a5929d3668b6 208
patrick_duc 24:92c30dabfda4 209 if (erreur_int32) {
patrick_duc 24:92c30dabfda4 210 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs int32 !\n");
patrick_duc 24:92c30dabfda4 211 }
patrick_duc 24:92c30dabfda4 212 else {
patrick_duc 24:92c30dabfda4 213 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs int32 OK\n");
patrick_duc 24:92c30dabfda4 214 }
patrick_duc 22:a5929d3668b6 215
patrick_duc 24:92c30dabfda4 216 if (erreur_float) {
patrick_duc 24:92c30dabfda4 217 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs float !\n");
patrick_duc 24:92c30dabfda4 218 }
patrick_duc 24:92c30dabfda4 219 else {
patrick_duc 24:92c30dabfda4 220 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs float OK\n");
patrick_duc 24:92c30dabfda4 221 }
patrick_duc 22:a5929d3668b6 222
patrick_duc 24:92c30dabfda4 223 if (erreur_double) {
patrick_duc 24:92c30dabfda4 224 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs double !\n");
patrick_duc 24:92c30dabfda4 225 }
patrick_duc 24:92c30dabfda4 226 else {
patrick_duc 24:92c30dabfda4 227 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs double OK\n");
patrick_duc 24:92c30dabfda4 228 }
patrick_duc 22:a5929d3668b6 229
patrick_duc 24:92c30dabfda4 230 if (erreur_time) {
patrick_duc 24:92c30dabfda4 231 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs time !\n");
patrick_duc 24:92c30dabfda4 232 }
patrick_duc 24:92c30dabfda4 233 else {
patrick_duc 24:92c30dabfda4 234 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs time OK\n");
patrick_duc 24:92c30dabfda4 235 }
patrick_duc 22:a5929d3668b6 236
patrick_duc 24:92c30dabfda4 237 if (erreur_triple_double) {
patrick_duc 24:92c30dabfda4 238 DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs triple_double !\n");
patrick_duc 24:92c30dabfda4 239 }
patrick_duc 24:92c30dabfda4 240 else {
patrick_duc 24:92c30dabfda4 241 DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs triple_double OK\n");
patrick_duc 24:92c30dabfda4 242 }
patrick_duc 22:a5929d3668b6 243 }
patrick_duc 22:a5929d3668b6 244
patrick_duc 22:a5929d3668b6 245
patrick_duc 22:a5929d3668b6 246 static void testGetValueAsString() {
patrick_duc 22:a5929d3668b6 247 bool erreur_bool = false;
patrick_duc 22:a5929d3668b6 248 bool erreur_char = false;
patrick_duc 22:a5929d3668b6 249 bool erreur_uint8 = false;
patrick_duc 22:a5929d3668b6 250 bool erreur_int8 = false;
patrick_duc 22:a5929d3668b6 251 bool erreur_uint16 = false;
patrick_duc 22:a5929d3668b6 252 bool erreur_int16 = false;
patrick_duc 22:a5929d3668b6 253 bool erreur_uint32 = false;
patrick_duc 22:a5929d3668b6 254 bool erreur_int32 = false;
patrick_duc 22:a5929d3668b6 255 bool erreur_float = false;
patrick_duc 22:a5929d3668b6 256 bool erreur_double = false;
patrick_duc 22:a5929d3668b6 257 bool erreur_time = false;
patrick_duc 24:92c30dabfda4 258 bool erreur_triple_double = false;
patrick_duc 22:a5929d3668b6 259
patrick_duc 22:a5929d3668b6 260 Value bool_val_1;
patrick_duc 22:a5929d3668b6 261 bool_val_1.setBoolValue(false);
patrick_duc 22:a5929d3668b6 262
patrick_duc 22:a5929d3668b6 263 Value bool_val_2;
patrick_duc 22:a5929d3668b6 264 bool_val_2.setBoolValue(true);
patrick_duc 22:a5929d3668b6 265
patrick_duc 22:a5929d3668b6 266 Value char_val_1;
patrick_duc 22:a5929d3668b6 267 char_val_1.setCharValue('r');
patrick_duc 22:a5929d3668b6 268
patrick_duc 22:a5929d3668b6 269 Value char_val_2;
patrick_duc 22:a5929d3668b6 270 char_val_2.setCharValue('u');
patrick_duc 22:a5929d3668b6 271
patrick_duc 22:a5929d3668b6 272 Value uint8_val_1;
patrick_duc 22:a5929d3668b6 273 uint8_val_1.setUint8Value(219);
patrick_duc 22:a5929d3668b6 274
patrick_duc 22:a5929d3668b6 275 Value uint8_val_2;
patrick_duc 22:a5929d3668b6 276 uint8_val_2.setUint8Value(100);
patrick_duc 22:a5929d3668b6 277
patrick_duc 22:a5929d3668b6 278 Value int8_val_1;
patrick_duc 22:a5929d3668b6 279 int8_val_1.setInt8Value(-110);
patrick_duc 22:a5929d3668b6 280
patrick_duc 22:a5929d3668b6 281 Value int8_val_2;
patrick_duc 22:a5929d3668b6 282 int8_val_2.setInt8Value(-7);
patrick_duc 22:a5929d3668b6 283
patrick_duc 22:a5929d3668b6 284 Value uint16_val_1;
patrick_duc 22:a5929d3668b6 285 uint16_val_1.setUint16Value(21905);
patrick_duc 22:a5929d3668b6 286
patrick_duc 22:a5929d3668b6 287 Value uint16_val_2;
patrick_duc 22:a5929d3668b6 288 uint16_val_2.setUint16Value(10098);
patrick_duc 22:a5929d3668b6 289
patrick_duc 22:a5929d3668b6 290 Value int16_val_1;
patrick_duc 22:a5929d3668b6 291 int16_val_1.setInt16Value(-11000);
patrick_duc 22:a5929d3668b6 292
patrick_duc 22:a5929d3668b6 293 Value int16_val_2;
patrick_duc 22:a5929d3668b6 294 int16_val_2.setInt16Value(-7654);
patrick_duc 22:a5929d3668b6 295
patrick_duc 22:a5929d3668b6 296 Value uint32_val_1;
patrick_duc 22:a5929d3668b6 297 uint32_val_1.setUint32Value(1905765786);
patrick_duc 22:a5929d3668b6 298
patrick_duc 22:a5929d3668b6 299 Value uint32_val_2;
patrick_duc 22:a5929d3668b6 300 uint32_val_2.setUint32Value(10098654);
patrick_duc 22:a5929d3668b6 301
patrick_duc 22:a5929d3668b6 302 Value int32_val_1;
patrick_duc 22:a5929d3668b6 303 int32_val_1.setInt32Value(-1010000005);
patrick_duc 22:a5929d3668b6 304
patrick_duc 22:a5929d3668b6 305 Value int32_val_2;
patrick_duc 22:a5929d3668b6 306 int32_val_2.setInt32Value(-76543210);
patrick_duc 22:a5929d3668b6 307
patrick_duc 22:a5929d3668b6 308 Value float_val_1;
patrick_duc 22:a5929d3668b6 309 float_val_1.setFloatValue(-1010.876);
patrick_duc 22:a5929d3668b6 310
patrick_duc 22:a5929d3668b6 311 Value float_val_2;
patrick_duc 22:a5929d3668b6 312 float_val_2.setFloatValue(-7.0/5);
patrick_duc 22:a5929d3668b6 313
patrick_duc 22:a5929d3668b6 314 Value double_val_1;
patrick_duc 22:a5929d3668b6 315 double_val_1.setDoubleValue(-1010.876543);
patrick_duc 22:a5929d3668b6 316
patrick_duc 22:a5929d3668b6 317 Value double_val_2;
patrick_duc 22:a5929d3668b6 318 double_val_2.setDoubleValue(-7.0/3);
patrick_duc 22:a5929d3668b6 319
patrick_duc 22:a5929d3668b6 320 Value time_val_1;
patrick_duc 22:a5929d3668b6 321 time_val_1.setTimeValue(1010101010);
patrick_duc 22:a5929d3668b6 322
patrick_duc 24:92c30dabfda4 323 Value triple_double_val_1;
patrick_duc 24:92c30dabfda4 324 double_val_1.setTripleDoubleValue(-321.123, 87.654, 12345.6);
patrick_duc 24:92c30dabfda4 325
patrick_duc 24:92c30dabfda4 326 Value triple_double_val_2;
patrick_duc 24:92c30dabfda4 327 double_val_2.setTripleDoubleValue(-7.0/3, 63.0/19, 1.0/7);
patrick_duc 24:92c30dabfda4 328
patrick_duc 22:a5929d3668b6 329 GVAS_struct tableau[50] = {
patrick_duc 22:a5929d3668b6 330 { &bool_val_1, "false", &erreur_bool },
patrick_duc 22:a5929d3668b6 331 { &bool_val_2, "true", &erreur_bool },
patrick_duc 22:a5929d3668b6 332 { &char_val_1, "r", &erreur_char },
patrick_duc 22:a5929d3668b6 333 { &char_val_2, "u", &erreur_char },
patrick_duc 22:a5929d3668b6 334 { &uint8_val_1, "219", &erreur_uint8 },
patrick_duc 22:a5929d3668b6 335 { &uint8_val_2, "100", &erreur_uint8 },
patrick_duc 22:a5929d3668b6 336 { &int8_val_1, "-110", &erreur_int8 },
patrick_duc 22:a5929d3668b6 337 { &int8_val_2, "-7", &erreur_int8 },
patrick_duc 22:a5929d3668b6 338 { &uint16_val_1, "21905", &erreur_uint16 },
patrick_duc 22:a5929d3668b6 339 { &uint16_val_2, "10098", &erreur_uint16 },
patrick_duc 22:a5929d3668b6 340 { &int16_val_1, "-11000", &erreur_int16 },
patrick_duc 22:a5929d3668b6 341 { &int16_val_2, "-7654", &erreur_int16 },
patrick_duc 22:a5929d3668b6 342 { &uint32_val_1, "1905765786", &erreur_uint32 },
patrick_duc 22:a5929d3668b6 343 { &uint32_val_2, "10098654", &erreur_uint32 },
patrick_duc 22:a5929d3668b6 344 { &int32_val_1, "-1010000005", &erreur_int32 },
patrick_duc 22:a5929d3668b6 345 { &int32_val_2, "-76543210", &erreur_int32 },
patrick_duc 22:a5929d3668b6 346 { &float_val_1, "-1010.876", &erreur_float },
patrick_duc 22:a5929d3668b6 347 { &float_val_2, "-1.4", &erreur_float },
patrick_duc 22:a5929d3668b6 348 { &double_val_1, "-1010.876543", &erreur_double },
patrick_duc 22:a5929d3668b6 349 { &double_val_2, "-2.33333", &erreur_double },
patrick_duc 24:92c30dabfda4 350 { &time_val_1, "1010101010", &erreur_time },
patrick_duc 24:92c30dabfda4 351 { &triple_double_val_1, "-321.123,87.654,12345.6", &erreur_triple_double },
patrick_duc 24:92c30dabfda4 352 { &triple_double_val_2, "-2.33333,3.31579,0.142857", &erreur_triple_double }
patrick_duc 22:a5929d3668b6 353 };
patrick_duc 22:a5929d3668b6 354
patrick_duc 22:a5929d3668b6 355 for (int i = 0; i < 21; i++) {
patrick_duc 24:92c30dabfda4 356 //DEBUG("Value[%d]= %s\n", i, tableau[i].value->toString().c_str());
patrick_duc 24:92c30dabfda4 357 if (strcmp(tableau[i].value->toString().c_str(), tableau[i].chaine) != 0) {
patrick_duc 24:92c30dabfda4 358 DEBUG("Expected : %s, obtained : %s\n", tableau[i].chaine, tableau[i].value->toString().c_str());
patrick_duc 22:a5929d3668b6 359 *(tableau[i].flag_erreur) = true;
patrick_duc 22:a5929d3668b6 360 }
patrick_duc 22:a5929d3668b6 361 }
patrick_duc 22:a5929d3668b6 362
patrick_duc 22:a5929d3668b6 363
patrick_duc 22:a5929d3668b6 364 if (erreur_bool) {
patrick_duc 24:92c30dabfda4 365 DEBUG("ERREUR sur toString de valeurs bool !\n");
patrick_duc 22:a5929d3668b6 366 }
patrick_duc 22:a5929d3668b6 367 else {
patrick_duc 24:92c30dabfda4 368 DEBUG("toString de valeurs bool OK\n");
patrick_duc 22:a5929d3668b6 369 }
patrick_duc 22:a5929d3668b6 370
patrick_duc 22:a5929d3668b6 371 if (erreur_char) {
patrick_duc 24:92c30dabfda4 372 DEBUG("ERREUR sur toString de valeurs char !\n");
patrick_duc 22:a5929d3668b6 373 }
patrick_duc 22:a5929d3668b6 374 else {
patrick_duc 24:92c30dabfda4 375 DEBUG("toString de valeurs char OK\n");
patrick_duc 22:a5929d3668b6 376 }
patrick_duc 22:a5929d3668b6 377
patrick_duc 22:a5929d3668b6 378 if (erreur_uint8) {
patrick_duc 24:92c30dabfda4 379 DEBUG("ERREUR sur toString de valeurs uint8 !\n");
patrick_duc 22:a5929d3668b6 380 }
patrick_duc 22:a5929d3668b6 381 else {
patrick_duc 24:92c30dabfda4 382 DEBUG("toString de valeurs uint8 OK\n");
patrick_duc 22:a5929d3668b6 383 }
patrick_duc 22:a5929d3668b6 384
patrick_duc 22:a5929d3668b6 385 if (erreur_int8) {
patrick_duc 24:92c30dabfda4 386 DEBUG("ERREUR sur toString de valeurs int8 !\n");
patrick_duc 22:a5929d3668b6 387 }
patrick_duc 22:a5929d3668b6 388 else {
patrick_duc 24:92c30dabfda4 389 DEBUG("toString de valeurs int8 OK\n");
patrick_duc 22:a5929d3668b6 390 }
patrick_duc 22:a5929d3668b6 391
patrick_duc 22:a5929d3668b6 392 if (erreur_uint16) {
patrick_duc 24:92c30dabfda4 393 DEBUG("ERREUR sur toString de valeurs uint16 !\n");
patrick_duc 22:a5929d3668b6 394 }
patrick_duc 22:a5929d3668b6 395 else {
patrick_duc 24:92c30dabfda4 396 DEBUG("toString de valeurs uint16 OK\n");
patrick_duc 22:a5929d3668b6 397 }
patrick_duc 22:a5929d3668b6 398
patrick_duc 22:a5929d3668b6 399 if (erreur_int16) {
patrick_duc 24:92c30dabfda4 400 DEBUG("ERREUR sur toString de valeurs int16 !\n");
patrick_duc 22:a5929d3668b6 401 }
patrick_duc 22:a5929d3668b6 402 else {
patrick_duc 24:92c30dabfda4 403 DEBUG("toString de valeurs int16 OK\n");
patrick_duc 22:a5929d3668b6 404 }
patrick_duc 22:a5929d3668b6 405
patrick_duc 22:a5929d3668b6 406 if (erreur_uint32) {
patrick_duc 24:92c30dabfda4 407 DEBUG("ERREUR sur toString de valeurs uint32 !\n");
patrick_duc 22:a5929d3668b6 408 }
patrick_duc 22:a5929d3668b6 409 else {
patrick_duc 24:92c30dabfda4 410 DEBUG("toString de valeurs uint32 OK\n");
patrick_duc 22:a5929d3668b6 411 }
patrick_duc 22:a5929d3668b6 412
patrick_duc 22:a5929d3668b6 413 if (erreur_int32) {
patrick_duc 24:92c30dabfda4 414 DEBUG("ERREUR sur toString de valeurs int32 !\n");
patrick_duc 22:a5929d3668b6 415 }
patrick_duc 22:a5929d3668b6 416 else {
patrick_duc 24:92c30dabfda4 417 DEBUG("toString de valeurs int32 OK\n");
patrick_duc 22:a5929d3668b6 418 }
patrick_duc 22:a5929d3668b6 419
patrick_duc 22:a5929d3668b6 420 if (erreur_float) {
patrick_duc 24:92c30dabfda4 421 DEBUG("ERREUR sur toString de valeurs float !\n");
patrick_duc 22:a5929d3668b6 422 }
patrick_duc 22:a5929d3668b6 423 else {
patrick_duc 24:92c30dabfda4 424 DEBUG("toString de valeurs float OK\n");
patrick_duc 22:a5929d3668b6 425 }
patrick_duc 22:a5929d3668b6 426
patrick_duc 22:a5929d3668b6 427 if (erreur_double) {
patrick_duc 24:92c30dabfda4 428 DEBUG("ERREUR sur toString de valeurs double !\n");
patrick_duc 22:a5929d3668b6 429 }
patrick_duc 22:a5929d3668b6 430 else {
patrick_duc 24:92c30dabfda4 431 DEBUG("toString de valeurs double OK\n");
patrick_duc 22:a5929d3668b6 432 }
patrick_duc 22:a5929d3668b6 433
patrick_duc 22:a5929d3668b6 434 if (erreur_time) {
patrick_duc 24:92c30dabfda4 435 DEBUG("ERREUR sur toString de valeurs time !\n");
patrick_duc 22:a5929d3668b6 436 }
patrick_duc 22:a5929d3668b6 437 else {
patrick_duc 24:92c30dabfda4 438 DEBUG("toString de valeurs time OK\n");
patrick_duc 24:92c30dabfda4 439 }
patrick_duc 24:92c30dabfda4 440
patrick_duc 24:92c30dabfda4 441 if (erreur_triple_double) {
patrick_duc 24:92c30dabfda4 442 DEBUG("ERREUR sur toString de valeurs triple_double !\n");
patrick_duc 24:92c30dabfda4 443 }
patrick_duc 24:92c30dabfda4 444 else {
patrick_duc 24:92c30dabfda4 445 DEBUG("toString de valeurs triple_double OK\n");
patrick_duc 22:a5929d3668b6 446 }
patrick_duc 22:a5929d3668b6 447 }
patrick_duc 22:a5929d3668b6 448
patrick_duc 22:a5929d3668b6 449
patrick_duc 22:a5929d3668b6 450 static void testSetGetValues() {
patrick_duc 22:a5929d3668b6 451 Value value;
patrick_duc 24:92c30dabfda4 452 double* triple_double_value_check;
patrick_duc 22:a5929d3668b6 453 bool erreur_bool = false;
patrick_duc 22:a5929d3668b6 454 bool erreur_char = false;
patrick_duc 22:a5929d3668b6 455 bool erreur_uint8 = false;
patrick_duc 22:a5929d3668b6 456 bool erreur_int8 = false;
patrick_duc 22:a5929d3668b6 457 bool erreur_uint16 = false;
patrick_duc 22:a5929d3668b6 458 bool erreur_int16 = false;
patrick_duc 22:a5929d3668b6 459 bool erreur_uint32 = false;
patrick_duc 22:a5929d3668b6 460 bool erreur_int32 = false;
patrick_duc 22:a5929d3668b6 461 bool erreur_float = false;
patrick_duc 22:a5929d3668b6 462 bool erreur_double = false;
patrick_duc 22:a5929d3668b6 463 bool erreur_time = false;
patrick_duc 24:92c30dabfda4 464 bool erreur_triple_double = false;
patrick_duc 22:a5929d3668b6 465
patrick_duc 22:a5929d3668b6 466 // Valeurs booléennes
patrick_duc 22:a5929d3668b6 467 value.setBoolValue(true);
patrick_duc 22:a5929d3668b6 468 if (value.getBoolValue() != true) {
patrick_duc 22:a5929d3668b6 469 erreur_bool = true;
patrick_duc 22:a5929d3668b6 470 }
patrick_duc 22:a5929d3668b6 471
patrick_duc 22:a5929d3668b6 472 value.setBoolValue(false);
patrick_duc 22:a5929d3668b6 473 if (value.getBoolValue() != false) {
patrick_duc 22:a5929d3668b6 474 erreur_bool = true;
patrick_duc 22:a5929d3668b6 475 }
patrick_duc 22:a5929d3668b6 476
patrick_duc 22:a5929d3668b6 477 if (erreur_bool) {
patrick_duc 22:a5929d3668b6 478 DEBUG("ERREUR sur set/get de valeurs booleennes !\n");
patrick_duc 22:a5929d3668b6 479 }
patrick_duc 22:a5929d3668b6 480 else {
patrick_duc 22:a5929d3668b6 481 DEBUG("Set/get de valeurs booleennes OK\n");
patrick_duc 22:a5929d3668b6 482 }
patrick_duc 22:a5929d3668b6 483
patrick_duc 22:a5929d3668b6 484 // Valeurs char
patrick_duc 22:a5929d3668b6 485 value.setCharValue('r');
patrick_duc 22:a5929d3668b6 486 if (value.getCharValue() != 'r') {
patrick_duc 22:a5929d3668b6 487 erreur_char = true;
patrick_duc 22:a5929d3668b6 488 }
patrick_duc 22:a5929d3668b6 489
patrick_duc 22:a5929d3668b6 490 value.setCharValue(65);
patrick_duc 22:a5929d3668b6 491 if (value.getCharValue() != 65) {
patrick_duc 22:a5929d3668b6 492 erreur_char = true;
patrick_duc 22:a5929d3668b6 493 }
patrick_duc 22:a5929d3668b6 494
patrick_duc 22:a5929d3668b6 495 if (erreur_char) {
patrick_duc 22:a5929d3668b6 496 DEBUG("ERREUR sur set/get de valeurs char !\n");
patrick_duc 22:a5929d3668b6 497 }
patrick_duc 22:a5929d3668b6 498 else {
patrick_duc 22:a5929d3668b6 499 DEBUG("Set/get de valeurs char OK\n");
patrick_duc 22:a5929d3668b6 500 }
patrick_duc 22:a5929d3668b6 501
patrick_duc 22:a5929d3668b6 502 // Valeurs uint8
patrick_duc 22:a5929d3668b6 503 value.setUint8Value(67);
patrick_duc 22:a5929d3668b6 504 if (value.getUint8Value() != 67) {
patrick_duc 22:a5929d3668b6 505 erreur_uint8 = true;
patrick_duc 22:a5929d3668b6 506 }
patrick_duc 22:a5929d3668b6 507
patrick_duc 22:a5929d3668b6 508 value.setUint8Value(0);
patrick_duc 22:a5929d3668b6 509 if (value.getUint8Value() != 0) {
patrick_duc 22:a5929d3668b6 510 erreur_uint8 = true;
patrick_duc 22:a5929d3668b6 511 }
patrick_duc 22:a5929d3668b6 512
patrick_duc 22:a5929d3668b6 513 if (erreur_uint8) {
patrick_duc 22:a5929d3668b6 514 DEBUG("ERREUR sur set/get de valeurs uint8 !\n");
patrick_duc 22:a5929d3668b6 515 }
patrick_duc 22:a5929d3668b6 516 else {
patrick_duc 22:a5929d3668b6 517 DEBUG("Set/get de valeurs char uint8 OK\n");
patrick_duc 22:a5929d3668b6 518 }
patrick_duc 22:a5929d3668b6 519
patrick_duc 22:a5929d3668b6 520 // Valeurs int8
patrick_duc 22:a5929d3668b6 521 value.setInt8Value(-67);
patrick_duc 22:a5929d3668b6 522 if (value.getInt8Value() != -67) {
patrick_duc 22:a5929d3668b6 523 erreur_int8 = true;
patrick_duc 22:a5929d3668b6 524 }
patrick_duc 22:a5929d3668b6 525
patrick_duc 22:a5929d3668b6 526 value.setInt8Value(35);
patrick_duc 22:a5929d3668b6 527 if (value.getInt8Value() != 35) {
patrick_duc 22:a5929d3668b6 528 erreur_int8 = true;
patrick_duc 22:a5929d3668b6 529 }
patrick_duc 22:a5929d3668b6 530
patrick_duc 22:a5929d3668b6 531 if (erreur_int8) {
patrick_duc 22:a5929d3668b6 532 DEBUG("ERREUR sur set/get de valeurs int8 !\n");
patrick_duc 22:a5929d3668b6 533 }
patrick_duc 22:a5929d3668b6 534 else {
patrick_duc 22:a5929d3668b6 535 DEBUG("Set/get de valeurs char int8\n");
patrick_duc 22:a5929d3668b6 536 }
patrick_duc 22:a5929d3668b6 537
patrick_duc 22:a5929d3668b6 538 // Valeurs uint16
patrick_duc 22:a5929d3668b6 539 value.setUint16Value(62075);
patrick_duc 22:a5929d3668b6 540 if (value.getUint16Value() != 62075) {
patrick_duc 22:a5929d3668b6 541 erreur_uint16 = true;
patrick_duc 22:a5929d3668b6 542 }
patrick_duc 22:a5929d3668b6 543
patrick_duc 22:a5929d3668b6 544 value.setUint16Value(133);
patrick_duc 22:a5929d3668b6 545 if (value.getUint16Value() != 133) {
patrick_duc 22:a5929d3668b6 546 erreur_uint16 = true;
patrick_duc 22:a5929d3668b6 547 }
patrick_duc 22:a5929d3668b6 548
patrick_duc 22:a5929d3668b6 549 if (erreur_uint16) {
patrick_duc 22:a5929d3668b6 550 DEBUG("ERREUR sur set/get de valeurs uint16 !\n");
patrick_duc 22:a5929d3668b6 551 }
patrick_duc 22:a5929d3668b6 552 else {
patrick_duc 22:a5929d3668b6 553 DEBUG("Set/get de valeurs char uint16 OK\n");
patrick_duc 22:a5929d3668b6 554 }
patrick_duc 22:a5929d3668b6 555
patrick_duc 22:a5929d3668b6 556 // Valeurs int16
patrick_duc 22:a5929d3668b6 557 value.setInt16Value(-6376);
patrick_duc 22:a5929d3668b6 558 if (value.getInt16Value() != -6376) {
patrick_duc 22:a5929d3668b6 559 erreur_int16 = true;
patrick_duc 22:a5929d3668b6 560 }
patrick_duc 22:a5929d3668b6 561
patrick_duc 22:a5929d3668b6 562 value.setInt16Value(3500);
patrick_duc 22:a5929d3668b6 563 if (value.getInt16Value() != 3500) {
patrick_duc 22:a5929d3668b6 564 erreur_int16 = true;
patrick_duc 22:a5929d3668b6 565 }
patrick_duc 22:a5929d3668b6 566
patrick_duc 22:a5929d3668b6 567 if (erreur_int16) {
patrick_duc 22:a5929d3668b6 568 DEBUG("ERREUR sur set/get de valeurs int16 !\n");
patrick_duc 22:a5929d3668b6 569 }
patrick_duc 22:a5929d3668b6 570 else {
patrick_duc 22:a5929d3668b6 571 DEBUG("Set/get de valeurs int16 OK\n");
patrick_duc 22:a5929d3668b6 572 }
patrick_duc 22:a5929d3668b6 573
patrick_duc 22:a5929d3668b6 574 // Valeurs uint32
patrick_duc 22:a5929d3668b6 575 value.setUint32Value(207576544);
patrick_duc 22:a5929d3668b6 576 if (value.getUint32Value() != 207576544) {
patrick_duc 22:a5929d3668b6 577 erreur_uint32 = true;
patrick_duc 22:a5929d3668b6 578 }
patrick_duc 22:a5929d3668b6 579
patrick_duc 22:a5929d3668b6 580 value.setUint32Value(3345678901);
patrick_duc 22:a5929d3668b6 581 if (value.getUint32Value() != 3345678901) {
patrick_duc 22:a5929d3668b6 582 erreur_uint32 = true;
patrick_duc 22:a5929d3668b6 583 }
patrick_duc 22:a5929d3668b6 584
patrick_duc 22:a5929d3668b6 585 if (erreur_uint32) {
patrick_duc 22:a5929d3668b6 586 DEBUG("ERREUR sur set/get de valeurs uint32 !\n");
patrick_duc 22:a5929d3668b6 587 }
patrick_duc 22:a5929d3668b6 588 else {
patrick_duc 22:a5929d3668b6 589 DEBUG("Set/get de valeurs char uint32 OK\n");
patrick_duc 22:a5929d3668b6 590 }
patrick_duc 22:a5929d3668b6 591
patrick_duc 22:a5929d3668b6 592 // Valeurs int32
patrick_duc 22:a5929d3668b6 593 value.setInt32Value(-620757654);
patrick_duc 22:a5929d3668b6 594 if (value.getInt32Value() != -620757654) {
patrick_duc 22:a5929d3668b6 595 erreur_int32 = true;
patrick_duc 22:a5929d3668b6 596 }
patrick_duc 22:a5929d3668b6 597
patrick_duc 22:a5929d3668b6 598 value.setInt32Value(1207576544);
patrick_duc 22:a5929d3668b6 599 if (value.getInt32Value() != 1207576544) {
patrick_duc 22:a5929d3668b6 600 erreur_int32 = true;
patrick_duc 22:a5929d3668b6 601 }
patrick_duc 22:a5929d3668b6 602
patrick_duc 22:a5929d3668b6 603 if (erreur_int32) {
patrick_duc 22:a5929d3668b6 604 DEBUG("ERREUR sur set/get de valeurs int32 !\n");
patrick_duc 22:a5929d3668b6 605 }
patrick_duc 22:a5929d3668b6 606 else {
patrick_duc 22:a5929d3668b6 607 DEBUG("Set/get de valeurs int32 OK\n");
patrick_duc 22:a5929d3668b6 608 }
patrick_duc 22:a5929d3668b6 609
patrick_duc 22:a5929d3668b6 610 // Valeurs float
patrick_duc 22:a5929d3668b6 611 value.setFloatValue(-620.7);
patrick_duc 22:a5929d3668b6 612 if ((value.getFloatValue() + 620.7) > 0.0001) {
patrick_duc 22:a5929d3668b6 613 erreur_float = true;
patrick_duc 22:a5929d3668b6 614 }
patrick_duc 22:a5929d3668b6 615
patrick_duc 22:a5929d3668b6 616 value.setFloatValue(12075765.1);
patrick_duc 22:a5929d3668b6 617 if ((value.getFloatValue() - 12075765.1) > 0.0001) {
patrick_duc 22:a5929d3668b6 618 erreur_float = true;
patrick_duc 22:a5929d3668b6 619 }
patrick_duc 22:a5929d3668b6 620
patrick_duc 22:a5929d3668b6 621 if (erreur_float) {
patrick_duc 22:a5929d3668b6 622 DEBUG("ERREUR sur set/get de valeurs float !\n");
patrick_duc 22:a5929d3668b6 623 }
patrick_duc 22:a5929d3668b6 624 else {
patrick_duc 22:a5929d3668b6 625 DEBUG("Set/get de valeurs float OK\n");
patrick_duc 22:a5929d3668b6 626 }
patrick_duc 22:a5929d3668b6 627
patrick_duc 22:a5929d3668b6 628 // Valeurs double
patrick_duc 22:a5929d3668b6 629 value.setDoubleValue(-6207854.7);
patrick_duc 22:a5929d3668b6 630 //DEBUG("Valeur double 1 : %f\n", value._value.value.double_value);
patrick_duc 22:a5929d3668b6 631 if ((value.getDoubleValue() + 6207854.7) > 0.000001) {
patrick_duc 22:a5929d3668b6 632 erreur_double = true;
patrick_duc 22:a5929d3668b6 633 }
patrick_duc 22:a5929d3668b6 634
patrick_duc 22:a5929d3668b6 635 value.setDoubleValue(1207545765.1);
patrick_duc 22:a5929d3668b6 636 //DEBUG("Valeur double 2 : %f\n", value._value.value.double_value);
patrick_duc 22:a5929d3668b6 637 if ((value.getDoubleValue() - 1207545765.1) > 0.000001) {
patrick_duc 22:a5929d3668b6 638 erreur_double = true;
patrick_duc 22:a5929d3668b6 639 }
patrick_duc 22:a5929d3668b6 640
patrick_duc 22:a5929d3668b6 641 value.setDoubleValue(-1.0 / 9);
patrick_duc 22:a5929d3668b6 642 //DEBUG("Valeur double 3 : %f\n", value._value.value.double_value);
patrick_duc 22:a5929d3668b6 643 if ((value.getDoubleValue() + (1.0 / 9)) > 0.000001) {
patrick_duc 22:a5929d3668b6 644 erreur_double = true;
patrick_duc 22:a5929d3668b6 645 }
patrick_duc 22:a5929d3668b6 646
patrick_duc 22:a5929d3668b6 647 if (erreur_double) {
patrick_duc 22:a5929d3668b6 648 DEBUG("ERREUR sur set/get de valeurs double !\n");
patrick_duc 22:a5929d3668b6 649 }
patrick_duc 22:a5929d3668b6 650 else {
patrick_duc 22:a5929d3668b6 651 DEBUG("Set/get de valeurs double OK\n");
patrick_duc 22:a5929d3668b6 652 }
patrick_duc 22:a5929d3668b6 653
patrick_duc 22:a5929d3668b6 654 // Valeurs time
patrick_duc 22:a5929d3668b6 655 value.setTimeValue(207576544);
patrick_duc 22:a5929d3668b6 656 if (value.getTimeValue() != 207576544) {
patrick_duc 22:a5929d3668b6 657 erreur_time = true;
patrick_duc 22:a5929d3668b6 658 }
patrick_duc 22:a5929d3668b6 659
patrick_duc 22:a5929d3668b6 660 value.setTimeValue(3345678901);
patrick_duc 22:a5929d3668b6 661 if (value.getTimeValue() != 3345678901) {
patrick_duc 22:a5929d3668b6 662 erreur_time = true;
patrick_duc 22:a5929d3668b6 663 }
patrick_duc 22:a5929d3668b6 664
patrick_duc 22:a5929d3668b6 665 if (erreur_time) {
patrick_duc 22:a5929d3668b6 666 DEBUG("ERREUR sur set/get de valeurs time !\n");
patrick_duc 22:a5929d3668b6 667 }
patrick_duc 22:a5929d3668b6 668 else {
patrick_duc 24:92c30dabfda4 669 DEBUG("Set/get de valeurs time OK\n");
patrick_duc 24:92c30dabfda4 670 }
patrick_duc 24:92c30dabfda4 671
patrick_duc 24:92c30dabfda4 672 // Valeurs triple double
patrick_duc 24:92c30dabfda4 673 value.setTripleDoubleValue(-6276.7, -7.0/13, 87.65);
patrick_duc 24:92c30dabfda4 674 DEBUG("Valeur double0 : %f\n", value._value.value.triple_double_values[0]);
patrick_duc 24:92c30dabfda4 675 DEBUG("Valeur double1 : %f\n", value._value.value.triple_double_values[1]);
patrick_duc 24:92c30dabfda4 676 DEBUG("Valeur double2 : %f\n", value._value.value.triple_double_values[2]);
patrick_duc 24:92c30dabfda4 677 triple_double_value_check = value.getTripleDoubleValue();
patrick_duc 24:92c30dabfda4 678 if ((triple_double_value_check[0] + 6276.7) > 0.000001) {
patrick_duc 24:92c30dabfda4 679 erreur_triple_double = true;
patrick_duc 24:92c30dabfda4 680 }
patrick_duc 24:92c30dabfda4 681 if ((triple_double_value_check[1] + 0.53846) > 0.000001) {
patrick_duc 24:92c30dabfda4 682 erreur_triple_double = true;
patrick_duc 24:92c30dabfda4 683 }
patrick_duc 24:92c30dabfda4 684 if ((triple_double_value_check[2] - 87.65) > 0.000001) {
patrick_duc 24:92c30dabfda4 685 erreur_triple_double = true;
patrick_duc 24:92c30dabfda4 686 }
patrick_duc 24:92c30dabfda4 687
patrick_duc 24:92c30dabfda4 688 value.setTripleDoubleValue(1207545765.1, 777.777, -111.111);
patrick_duc 24:92c30dabfda4 689 DEBUG("Valeur double0 : %f\n", value._value.value.triple_double_values[0]);
patrick_duc 24:92c30dabfda4 690 DEBUG("Valeur double1 : %f\n", value._value.value.triple_double_values[1]);
patrick_duc 24:92c30dabfda4 691 DEBUG("Valeur double2 : %f\n", value._value.value.triple_double_values[2]);
patrick_duc 24:92c30dabfda4 692 triple_double_value_check = value.getTripleDoubleValue();
patrick_duc 24:92c30dabfda4 693 if ((triple_double_value_check[0] - 1207545765.1) > 0.000001) {
patrick_duc 24:92c30dabfda4 694 erreur_triple_double = true;
patrick_duc 24:92c30dabfda4 695 }
patrick_duc 24:92c30dabfda4 696 if ((triple_double_value_check[1] - 777.777) > 0.000001) {
patrick_duc 24:92c30dabfda4 697 erreur_triple_double = true;
patrick_duc 24:92c30dabfda4 698 }
patrick_duc 24:92c30dabfda4 699 if ((triple_double_value_check[2] + 111.111) > 0.000001) {
patrick_duc 24:92c30dabfda4 700 erreur_triple_double = true;
patrick_duc 24:92c30dabfda4 701 }
patrick_duc 24:92c30dabfda4 702
patrick_duc 24:92c30dabfda4 703 if (erreur_triple_double) {
patrick_duc 24:92c30dabfda4 704 DEBUG("ERREUR sur set/get de valeurs triple_double !\n");
patrick_duc 24:92c30dabfda4 705 }
patrick_duc 24:92c30dabfda4 706 else {
patrick_duc 24:92c30dabfda4 707 DEBUG("Set/get de valeurs triple_double OK\n");
patrick_duc 22:a5929d3668b6 708 }
patrick_duc 22:a5929d3668b6 709 }
patrick_duc 22:a5929d3668b6 710
patrick_duc 22:a5929d3668b6 711
patrick_duc 22:a5929d3668b6 712 static void testValueComparisons() {
patrick_duc 22:a5929d3668b6 713 Value value1, value2;
patrick_duc 22:a5929d3668b6 714 value1.setBoolValue(true);
patrick_duc 22:a5929d3668b6 715 value2.setBoolValue(false);
patrick_duc 22:a5929d3668b6 716
patrick_duc 22:a5929d3668b6 717 if (value1.compareTo(value2) != 1) {
patrick_duc 22:a5929d3668b6 718 DEBUG("ERREUR sur comparaison de valeurs booleennes !\n");
patrick_duc 22:a5929d3668b6 719 }
patrick_duc 22:a5929d3668b6 720 else {
patrick_duc 22:a5929d3668b6 721 DEBUG("Comparaison de valeurs booleennes OK\n");
patrick_duc 22:a5929d3668b6 722 }
patrick_duc 22:a5929d3668b6 723
patrick_duc 22:a5929d3668b6 724 value1.setCharValue(65);
patrick_duc 22:a5929d3668b6 725 value2.setCharValue(64);
patrick_duc 22:a5929d3668b6 726
patrick_duc 22:a5929d3668b6 727 if (value1.compareTo(value2) != 1) {
patrick_duc 22:a5929d3668b6 728 DEBUG("ERREUR sur comparaison de valeurs char !\n");
patrick_duc 22:a5929d3668b6 729 }
patrick_duc 22:a5929d3668b6 730 else {
patrick_duc 22:a5929d3668b6 731 DEBUG("Comparaison de valeurs char OK\n");
patrick_duc 22:a5929d3668b6 732 }
patrick_duc 22:a5929d3668b6 733
patrick_duc 22:a5929d3668b6 734 value1.setUint8Value(0);
patrick_duc 22:a5929d3668b6 735 value2.setUint8Value(3);
patrick_duc 22:a5929d3668b6 736
patrick_duc 22:a5929d3668b6 737 if (value1.compareTo(value2) != -1) {
patrick_duc 22:a5929d3668b6 738 DEBUG("ERREUR sur comparaison de valeurs uint8 !\n");
patrick_duc 22:a5929d3668b6 739 }
patrick_duc 22:a5929d3668b6 740 else {
patrick_duc 22:a5929d3668b6 741 DEBUG("Comparaison de valeurs uint8 OK\n");
patrick_duc 22:a5929d3668b6 742 }
patrick_duc 22:a5929d3668b6 743
patrick_duc 22:a5929d3668b6 744 value1.setInt8Value(-117);
patrick_duc 22:a5929d3668b6 745 value2.setInt8Value(-116);
patrick_duc 22:a5929d3668b6 746
patrick_duc 22:a5929d3668b6 747 if (value1.compareTo(value2) != -1) {
patrick_duc 22:a5929d3668b6 748 DEBUG("ERREUR sur comparaison de valeurs int8 !\n");
patrick_duc 22:a5929d3668b6 749 }
patrick_duc 22:a5929d3668b6 750 else {
patrick_duc 22:a5929d3668b6 751 DEBUG("Comparaison de valeurs int8 OK\n");
patrick_duc 22:a5929d3668b6 752 }
patrick_duc 22:a5929d3668b6 753
patrick_duc 22:a5929d3668b6 754 value1.setUint16Value(8764);
patrick_duc 22:a5929d3668b6 755 value2.setUint16Value(8760);
patrick_duc 22:a5929d3668b6 756
patrick_duc 22:a5929d3668b6 757 if (value1.compareTo(value2) != 1) {
patrick_duc 22:a5929d3668b6 758 DEBUG("ERREUR sur comparaison de valeurs uint16 !\n");
patrick_duc 22:a5929d3668b6 759 }
patrick_duc 22:a5929d3668b6 760 else {
patrick_duc 22:a5929d3668b6 761 DEBUG("Comparaison de valeurs uint16 OK\n");
patrick_duc 22:a5929d3668b6 762 }
patrick_duc 22:a5929d3668b6 763
patrick_duc 22:a5929d3668b6 764 value1.setInt16Value(-11740);
patrick_duc 22:a5929d3668b6 765 value2.setInt16Value(-11664);
patrick_duc 22:a5929d3668b6 766
patrick_duc 22:a5929d3668b6 767 if (value1.compareTo(value2) != -1) {
patrick_duc 22:a5929d3668b6 768 DEBUG("ERREUR sur comparaison de valeurs int16 !\n");
patrick_duc 22:a5929d3668b6 769 }
patrick_duc 22:a5929d3668b6 770 else {
patrick_duc 22:a5929d3668b6 771 DEBUG("Comparaison de valeurs int16 OK\n");
patrick_duc 22:a5929d3668b6 772 }
patrick_duc 22:a5929d3668b6 773
patrick_duc 22:a5929d3668b6 774 value1.setUint32Value(87619874);
patrick_duc 22:a5929d3668b6 775 value2.setUint32Value(87619874);
patrick_duc 22:a5929d3668b6 776
patrick_duc 22:a5929d3668b6 777 if (value1.compareTo(value2) != 0) {
patrick_duc 22:a5929d3668b6 778 DEBUG("ERREUR sur comparaison de valeurs uint32 !\n");
patrick_duc 22:a5929d3668b6 779 }
patrick_duc 22:a5929d3668b6 780 else {
patrick_duc 22:a5929d3668b6 781 DEBUG("Comparaison de valeurs uint32 OK\n");
patrick_duc 22:a5929d3668b6 782 }
patrick_duc 22:a5929d3668b6 783
patrick_duc 22:a5929d3668b6 784 value1.setInt32Value(-11740765);
patrick_duc 22:a5929d3668b6 785 value2.setInt32Value(-11740766);
patrick_duc 22:a5929d3668b6 786
patrick_duc 22:a5929d3668b6 787 if (value1.compareTo(value2) != 1) {
patrick_duc 22:a5929d3668b6 788 DEBUG("ERREUR sur comparaison de valeurs int32 !\n");
patrick_duc 22:a5929d3668b6 789 }
patrick_duc 22:a5929d3668b6 790 else {
patrick_duc 22:a5929d3668b6 791 DEBUG("Comparaison de valeurs int32 OK\n");
patrick_duc 22:a5929d3668b6 792 }
patrick_duc 22:a5929d3668b6 793
patrick_duc 22:a5929d3668b6 794 value1.setFloatValue(-1174.75);
patrick_duc 22:a5929d3668b6 795 //DEBUG("Valeur float 1 : %f\n", value1._value.value.float_value);
patrick_duc 22:a5929d3668b6 796 value2.setFloatValue(-1174.74);
patrick_duc 22:a5929d3668b6 797 //DEBUG("Valeur float 2 : %f\n", value2._value.value.float_value);
patrick_duc 22:a5929d3668b6 798
patrick_duc 22:a5929d3668b6 799 if (value1.compareTo(value2) != -1) {
patrick_duc 22:a5929d3668b6 800 DEBUG("ERREUR sur comparaison de valeurs float !\n");
patrick_duc 22:a5929d3668b6 801 }
patrick_duc 22:a5929d3668b6 802 else {
patrick_duc 22:a5929d3668b6 803 DEBUG("Comparaison de valeurs float OK\n");
patrick_duc 22:a5929d3668b6 804 }
patrick_duc 22:a5929d3668b6 805
patrick_duc 22:a5929d3668b6 806 value1.setDoubleValue(0.6545);
patrick_duc 22:a5929d3668b6 807 value2.setDoubleValue(1.8765);
patrick_duc 22:a5929d3668b6 808
patrick_duc 22:a5929d3668b6 809 if (value1.compareTo(value2) != -1) {
patrick_duc 22:a5929d3668b6 810 DEBUG("ERREUR sur comparaison de valeurs double !\n");
patrick_duc 22:a5929d3668b6 811 }
patrick_duc 22:a5929d3668b6 812 else {
patrick_duc 22:a5929d3668b6 813 DEBUG("Comparaison de valeurs double OK\n");
patrick_duc 22:a5929d3668b6 814 }
patrick_duc 22:a5929d3668b6 815
patrick_duc 22:a5929d3668b6 816 value1.setTimeValue(6545);
patrick_duc 22:a5929d3668b6 817 value2.setTimeValue(8765);
patrick_duc 22:a5929d3668b6 818
patrick_duc 22:a5929d3668b6 819 if (value1.compareTo(value2) != -1) {
patrick_duc 22:a5929d3668b6 820 DEBUG("ERREUR sur comparaison de valeurs time !\n");
patrick_duc 22:a5929d3668b6 821 }
patrick_duc 22:a5929d3668b6 822 else {
patrick_duc 22:a5929d3668b6 823 DEBUG("Comparaison de valeurs time OK\n");
patrick_duc 22:a5929d3668b6 824 }
patrick_duc 22:a5929d3668b6 825
patrick_duc 22:a5929d3668b6 826 value1.setTimeValue(6545);
patrick_duc 22:a5929d3668b6 827 value2.setFloatValue(8765.543);
patrick_duc 22:a5929d3668b6 828
patrick_duc 22:a5929d3668b6 829 if (value1.compareTo(value2) != -2) {
patrick_duc 22:a5929d3668b6 830 DEBUG("ERREUR sur comparaison de valeurs de types differents !\n");
patrick_duc 22:a5929d3668b6 831 }
patrick_duc 22:a5929d3668b6 832 else {
patrick_duc 22:a5929d3668b6 833 DEBUG("Comparaison de valeurs de types differents OK\n");
patrick_duc 22:a5929d3668b6 834 }
patrick_duc 24:92c30dabfda4 835
patrick_duc 24:92c30dabfda4 836 value1.setTripleDoubleValue(0.675, -876.0, 1.23);
patrick_duc 24:92c30dabfda4 837 value2.setTripleDoubleValue(0.675, -876.0, 1.23);
patrick_duc 24:92c30dabfda4 838
patrick_duc 24:92c30dabfda4 839 if (value1.compareTo(value2) != 0) {
patrick_duc 24:92c30dabfda4 840 DEBUG("ERREUR sur comparaison de valeurs triple_double !\n");
patrick_duc 24:92c30dabfda4 841 }
patrick_duc 24:92c30dabfda4 842 else {
patrick_duc 24:92c30dabfda4 843 DEBUG("Comparaison de valeurs triple_double OK\n");
patrick_duc 24:92c30dabfda4 844 }
patrick_duc 22:a5929d3668b6 845 }
patrick_duc 22:a5929d3668b6 846
patrick_duc 22:a5929d3668b6 847
patrick_duc 22:a5929d3668b6 848 int main(int argc, char** argv) {
patrick_duc 22:a5929d3668b6 849 testSetGetValues();
patrick_duc 22:a5929d3668b6 850 testValueComparisons();
patrick_duc 22:a5929d3668b6 851 testGetValueAsString();
patrick_duc 22:a5929d3668b6 852 testDifferencesWithDelta();
patrick_duc 22:a5929d3668b6 853 return 0;
patrick_duc 22:a5929d3668b6 854 }