Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Revision:
22:a5929d3668b6
Child:
24:92c30dabfda4
diff -r 8524d815c587 -r a5929d3668b6 TESTS/Value_unit_tests.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TESTS/Value_unit_tests.cpp	Wed Sep 05 21:58:07 2018 +0000
@@ -0,0 +1,766 @@
+#include <iostream>
+#include <cstdlib>
+#include <string>
+#include <string.h>
+
+#include "Context.h"
+
+#include "Value.hpp"
+
+
+using namespace misnet;
+
+
+typedef struct {
+  Value *         value;
+  Value *         value_to_substract;
+  Value *         delta;
+  bool            expected_result;
+  bool *          flag_erreur;
+} IDGTD_struct;
+
+
+typedef struct {
+  Value *         value;
+  const char *   chaine;
+  bool *          flag_erreur;
+} GVAS_struct;
+
+
+static void testDifferencesWithDelta() {
+    Value value_1, value_to_substract, delta;
+
+    value_1.setUint8Value(220);
+    value_to_substract.setUint8Value(218);
+    delta.setUint8Value(1);
+
+    if (value_1.isAbsoluteDifferenceValueGreaterThanDelta(value_to_substract, delta) == false) {
+        DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 !\n");
+    }
+    else {
+        DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 OK\n");
+    }
+
+    delta.setUint8Value(3);
+
+    if (value_1.isAbsoluteDifferenceValueGreaterThanDelta(value_to_substract, delta) == true) {
+        DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 !\n");
+    }
+    else {
+        DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 OK\n");
+    }
+
+    bool erreur_bool = false;
+  bool erreur_char = false;
+  bool erreur_uint8 = false;
+  bool erreur_int8 = false;
+  bool erreur_uint16 = false;
+  bool erreur_int16 = false;
+  bool erreur_uint32 = false;
+  bool erreur_int32 = false;
+  bool erreur_float = false;
+  bool erreur_double = false;
+  bool erreur_time = false;
+
+  Value bool_value, bool_value_to_substract, bool_delta;
+  bool_value.setBoolValue(false);
+  bool_value_to_substract.setBoolValue(false);
+  bool_delta.setBoolValue(true);
+
+  Value char_value, char_value_to_substract, char_delta;
+  char_value.setCharValue('r');
+  char_value_to_substract.setCharValue('0');
+  char_delta.setCharValue('0');
+
+  Value uint8_value, uint8_value_to_substract, uint8_delta;
+  uint8_value.setUint8Value(219);
+  uint8_value_to_substract.setUint8Value(212);
+  uint8_delta.setUint8Value(5);
+
+  Value int8_value, int8_value_to_substract, int8_delta;
+  int8_value.setInt8Value(-110);
+  int8_value_to_substract.setInt8Value(-112);
+  int8_delta.setInt8Value(3);
+
+  Value uint16_value, uint16_value_to_substract, uint16_delta;
+  uint16_value.setUint16Value(1016);
+  uint16_value_to_substract.setUint16Value(12);
+  uint16_delta.setUint16Value(15);
+
+  Value int16_value, int16_value_to_substract, int16_delta;
+  int16_value.setInt16Value(1016);
+  int16_value_to_substract.setInt16Value(1015);
+  int16_delta.setInt16Value(2);
+
+  Value uint32_value, uint32_value_to_substract, uint32_delta;
+  uint32_value.setUint32Value(10161016);
+  uint32_value_to_substract.setUint32Value(10161116);
+  uint32_delta.setUint32Value(100);
+
+  Value int32_value, int32_value_to_substract, int32_delta;
+  int32_value.setInt32Value(-10160000);
+  int32_value_to_substract.setInt32Value(-10160001);
+  int32_delta.setInt32Value(15);
+
+  Value float_value, float_value_to_substract, float_delta;
+  float_value.setFloatValue(-1010.876);
+  float_value_to_substract.setFloatValue(-1010.77);
+  float_delta.setFloatValue(0.2);
+
+  Value double_value, double_value_to_substract, double_delta;
+  double_value.setDoubleValue(-1010.876543);
+  double_value_to_substract.setDoubleValue(-1010.876);
+  double_delta.setDoubleValue(0.00001);
+
+  Value time_value, time_value_to_substract, time_delta;
+  time_value.setTimeValue(1010101010);
+  time_value_to_substract.setTimeValue(1010101010);
+  time_delta.setTimeValue(10);
+
+  IDGTD_struct   tableau[50] = {
+    { &bool_value, &bool_value_to_substract, &bool_delta, false, &erreur_bool },
+    { &char_value, &char_value_to_substract, &char_delta, true, &erreur_char },
+    { &uint8_value, &uint8_value_to_substract, &uint8_delta, true, &erreur_uint8 },
+    { &int8_value, &int8_value_to_substract, &int8_delta, false, &erreur_int8 },
+    { &uint16_value, &uint16_value_to_substract, &uint16_delta, true, &erreur_uint16 },
+    { &int16_value, &int16_value_to_substract, &int16_delta, false, &erreur_int16 },
+    { &uint32_value, &uint32_value_to_substract, &uint32_delta, false, &erreur_uint32 },
+    { &int32_value, &int32_value_to_substract, &int32_delta, false, &erreur_int32 },
+    { &float_value, &float_value_to_substract, &float_delta, false, &erreur_float },
+    { &double_value, &double_value_to_substract, &double_delta, true, &erreur_double },
+    { &time_value, &time_value_to_substract, &time_delta, false, &erreur_time },
+  };
+
+  for (int i = 0; i < 11; i++) {
+    //DEBUG("Value[%d]= %s\n", i, tableau[i].value->getValueAsString().c_str());
+    if (tableau[i].value->isAbsoluteDifferenceValueGreaterThanDelta(*(tableau[i].value_to_substract),
+    *(tableau[i].delta)) != tableau[i].expected_result) {
+        DEBUG("Expected : %s, obtained : %s\n", tableau[i].expected_result ? "true" : "false",
+        tableau[i].value->isAbsoluteDifferenceValueGreaterThanDelta(*(tableau[i].value_to_substract), *(tableau[i].delta)) ? "true" : "false");
+      *(tableau[i].flag_erreur) = true;
+    }
+  }
+
+
+  if (erreur_bool) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs bool !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs bool OK\n");
+  }
+
+  if (erreur_char) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs char !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs char OK\n");
+  }
+
+  if (erreur_uint8) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint8 OK\n");
+  }
+
+  if (erreur_int8) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs int8 !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs int8 OK\n");
+  }
+
+  if (erreur_uint16) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint16 !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint16 OK\n");
+  }
+
+  if (erreur_int16) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs int16 !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs int16 OK\n");
+  }
+
+  if (erreur_uint32) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint32 !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs uint32 OK\n");
+  }
+
+  if (erreur_int32) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs int32 !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs int32 OK\n");
+  }
+
+  if (erreur_float) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs float !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs float OK\n");
+  }
+
+  if (erreur_double) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs double !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs double OK\n");
+  }
+
+  if (erreur_time) {
+    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs time !\n");
+  }
+  else {
+    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs time OK\n");
+  }
+}
+
+
+static void testGetValueAsString() {
+  bool erreur_bool = false;
+  bool erreur_char = false;
+  bool erreur_uint8 = false;
+  bool erreur_int8 = false;
+  bool erreur_uint16 = false;
+  bool erreur_int16 = false;
+  bool erreur_uint32 = false;
+  bool erreur_int32 = false;
+  bool erreur_float = false;
+  bool erreur_double = false;
+  bool erreur_time = false;
+
+  Value bool_val_1;
+  bool_val_1.setBoolValue(false);
+
+  Value bool_val_2;
+  bool_val_2.setBoolValue(true);
+
+  Value char_val_1;
+  char_val_1.setCharValue('r');
+
+  Value char_val_2;
+  char_val_2.setCharValue('u');
+
+  Value uint8_val_1;
+  uint8_val_1.setUint8Value(219);
+
+  Value uint8_val_2;
+  uint8_val_2.setUint8Value(100);
+
+  Value int8_val_1;
+  int8_val_1.setInt8Value(-110);
+
+  Value int8_val_2;
+  int8_val_2.setInt8Value(-7);
+
+  Value uint16_val_1;
+  uint16_val_1.setUint16Value(21905);
+
+  Value uint16_val_2;
+  uint16_val_2.setUint16Value(10098);
+
+  Value int16_val_1;
+  int16_val_1.setInt16Value(-11000);
+
+  Value int16_val_2;
+  int16_val_2.setInt16Value(-7654);
+
+  Value uint32_val_1;
+  uint32_val_1.setUint32Value(1905765786);
+
+  Value uint32_val_2;
+  uint32_val_2.setUint32Value(10098654);
+
+  Value int32_val_1;
+  int32_val_1.setInt32Value(-1010000005);
+
+  Value int32_val_2;
+  int32_val_2.setInt32Value(-76543210);
+
+  Value float_val_1;
+  float_val_1.setFloatValue(-1010.876);
+
+  Value float_val_2;
+  float_val_2.setFloatValue(-7.0/5);
+
+  Value double_val_1;
+  double_val_1.setDoubleValue(-1010.876543);
+
+  Value double_val_2;
+  double_val_2.setDoubleValue(-7.0/3);
+
+  Value time_val_1;
+  time_val_1.setTimeValue(1010101010);
+
+  GVAS_struct   tableau[50] = {
+    { &bool_val_1, "false", &erreur_bool },
+    { &bool_val_2, "true", &erreur_bool },
+    { &char_val_1, "r", &erreur_char },
+    { &char_val_2, "u", &erreur_char },
+    { &uint8_val_1, "219", &erreur_uint8 },
+    { &uint8_val_2, "100", &erreur_uint8 },
+    { &int8_val_1, "-110", &erreur_int8 },
+    { &int8_val_2, "-7", &erreur_int8 },
+    { &uint16_val_1, "21905", &erreur_uint16 },
+    { &uint16_val_2, "10098", &erreur_uint16 },
+    { &int16_val_1, "-11000", &erreur_int16 },
+    { &int16_val_2, "-7654", &erreur_int16 },
+    { &uint32_val_1, "1905765786", &erreur_uint32 },
+    { &uint32_val_2, "10098654", &erreur_uint32 },
+    { &int32_val_1, "-1010000005", &erreur_int32 },
+    { &int32_val_2, "-76543210", &erreur_int32 },
+    { &float_val_1, "-1010.876", &erreur_float },
+    { &float_val_2, "-1.4", &erreur_float },
+    { &double_val_1, "-1010.876543", &erreur_double },
+    { &double_val_2, "-2.33333", &erreur_double },
+    { &time_val_1, "1010101010", &erreur_time }
+  };
+
+  for (int i = 0; i < 21; i++) {
+    //DEBUG("Value[%d]= %s\n", i, tableau[i].value->getValueAsString().c_str());
+    if (strcmp(tableau[i].value->getValueAsString().c_str(), tableau[i].chaine) != 0) {
+        DEBUG("Expected : %s, obtained : %s\n", tableau[i].chaine, tableau[i].value->getValueAsString().c_str());
+      *(tableau[i].flag_erreur) = true;
+    }
+  }
+
+
+  if (erreur_bool) {
+    DEBUG("ERREUR sur getValueAsString de valeurs bool !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs bool OK\n");
+  }
+
+  if (erreur_char) {
+    DEBUG("ERREUR sur getValueAsString de valeurs char !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs char OK\n");
+  }
+
+  if (erreur_uint8) {
+    DEBUG("ERREUR sur getValueAsString de valeurs uint8 !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs uint8 OK\n");
+  }
+
+  if (erreur_int8) {
+    DEBUG("ERREUR sur getValueAsString de valeurs int8 !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs int8 OK\n");
+  }
+
+  if (erreur_uint16) {
+    DEBUG("ERREUR sur getValueAsString de valeurs uint16 !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs uint16 OK\n");
+  }
+
+  if (erreur_int16) {
+    DEBUG("ERREUR sur getValueAsString de valeurs int16 !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs int16 OK\n");
+  }
+
+  if (erreur_uint32) {
+    DEBUG("ERREUR sur getValueAsString de valeurs uint32 !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs uint32 OK\n");
+  }
+
+  if (erreur_int32) {
+    DEBUG("ERREUR sur getValueAsString de valeurs int32 !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs int32 OK\n");
+  }
+
+  if (erreur_float) {
+    DEBUG("ERREUR sur getValueAsString de valeurs float !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs float OK\n");
+  }
+
+  if (erreur_double) {
+    DEBUG("ERREUR sur getValueAsString de valeurs double !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs double OK\n");
+  }
+
+  if (erreur_time) {
+    DEBUG("ERREUR sur getValueAsString de valeurs time !\n");
+  }
+  else {
+    DEBUG("getValueAsString de valeurs time OK\n");
+  }
+}
+
+
+static void testSetGetValues() {
+    Value value;
+    bool erreur_bool = false;
+    bool erreur_char = false;
+    bool erreur_uint8 = false;
+    bool erreur_int8 = false;
+    bool erreur_uint16 = false;
+    bool erreur_int16 = false;
+    bool erreur_uint32 = false;
+    bool erreur_int32 = false;
+    bool erreur_float = false;
+    bool erreur_double = false;
+    bool erreur_time = false;
+
+    // Valeurs booléennes
+    value.setBoolValue(true);
+    if (value.getBoolValue() != true) {
+        erreur_bool = true;
+    }
+
+    value.setBoolValue(false);
+    if (value.getBoolValue() != false) {
+        erreur_bool = true;
+    }
+
+    if (erreur_bool) {
+        DEBUG("ERREUR sur set/get de valeurs booleennes !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs booleennes OK\n");
+    }
+
+    // Valeurs char
+    value.setCharValue('r');
+    if (value.getCharValue() != 'r') {
+        erreur_char = true;
+    }
+
+    value.setCharValue(65);
+    if (value.getCharValue() != 65) {
+        erreur_char = true;
+    }
+
+    if (erreur_char) {
+        DEBUG("ERREUR sur set/get de valeurs char !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs char OK\n");
+    }
+
+    // Valeurs uint8
+    value.setUint8Value(67);
+    if (value.getUint8Value() != 67) {
+        erreur_uint8 = true;
+    }
+
+    value.setUint8Value(0);
+    if (value.getUint8Value() != 0) {
+        erreur_uint8 = true;
+    }
+
+    if (erreur_uint8) {
+        DEBUG("ERREUR sur set/get de valeurs uint8 !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs char uint8 OK\n");
+    }
+
+    // Valeurs int8
+    value.setInt8Value(-67);
+    if (value.getInt8Value() != -67) {
+        erreur_int8 = true;
+    }
+
+    value.setInt8Value(35);
+    if (value.getInt8Value() != 35) {
+        erreur_int8 = true;
+    }
+
+    if (erreur_int8) {
+        DEBUG("ERREUR sur set/get de valeurs int8 !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs char int8\n");
+    }
+
+    // Valeurs uint16
+    value.setUint16Value(62075);
+    if (value.getUint16Value() != 62075) {
+        erreur_uint16 = true;
+    }
+
+    value.setUint16Value(133);
+    if (value.getUint16Value() != 133) {
+        erreur_uint16 = true;
+    }
+
+    if (erreur_uint16) {
+        DEBUG("ERREUR sur set/get de valeurs uint16 !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs char uint16 OK\n");
+    }
+
+    // Valeurs int16
+    value.setInt16Value(-6376);
+    if (value.getInt16Value() != -6376) {
+        erreur_int16 = true;
+    }
+
+    value.setInt16Value(3500);
+    if (value.getInt16Value() != 3500) {
+        erreur_int16 = true;
+    }
+
+    if (erreur_int16) {
+        DEBUG("ERREUR sur set/get de valeurs int16 !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs int16 OK\n");
+    }
+
+    // Valeurs uint32
+    value.setUint32Value(207576544);
+    if (value.getUint32Value() != 207576544) {
+        erreur_uint32 = true;
+    }
+
+    value.setUint32Value(3345678901);
+    if (value.getUint32Value() != 3345678901) {
+        erreur_uint32 = true;
+    }
+
+    if (erreur_uint32) {
+        DEBUG("ERREUR sur set/get de valeurs uint32 !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs char uint32 OK\n");
+    }
+
+    // Valeurs int32
+    value.setInt32Value(-620757654);
+    if (value.getInt32Value() != -620757654) {
+        erreur_int32 = true;
+    }
+
+    value.setInt32Value(1207576544);
+    if (value.getInt32Value() != 1207576544) {
+        erreur_int32 = true;
+    }
+
+    if (erreur_int32) {
+        DEBUG("ERREUR sur set/get de valeurs int32 !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs int32 OK\n");
+    }
+
+    // Valeurs float
+    value.setFloatValue(-620.7);
+    if ((value.getFloatValue() + 620.7) > 0.0001) {
+        erreur_float = true;
+    }
+
+    value.setFloatValue(12075765.1);
+    if ((value.getFloatValue() - 12075765.1) > 0.0001) {
+        erreur_float = true;
+    }
+
+    if (erreur_float) {
+        DEBUG("ERREUR sur set/get de valeurs float !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs float OK\n");
+    }
+
+    // Valeurs double
+    value.setDoubleValue(-6207854.7);
+    //DEBUG("Valeur double 1 : %f\n", value._value.value.double_value);
+    if ((value.getDoubleValue() + 6207854.7) > 0.000001) {
+        erreur_double = true;
+    }
+
+    value.setDoubleValue(1207545765.1);
+    //DEBUG("Valeur double 2 : %f\n", value._value.value.double_value);
+    if ((value.getDoubleValue() - 1207545765.1) > 0.000001) {
+        erreur_double = true;
+    }
+
+    value.setDoubleValue(-1.0 / 9);
+    //DEBUG("Valeur double 3 : %f\n", value._value.value.double_value);
+    if ((value.getDoubleValue() + (1.0 / 9)) > 0.000001) {
+        erreur_double = true;
+    }
+
+    if (erreur_double) {
+        DEBUG("ERREUR sur set/get de valeurs double !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs double OK\n");
+    }
+
+    // Valeurs time
+    value.setTimeValue(207576544);
+    if (value.getTimeValue() != 207576544) {
+        erreur_time = true;
+    }
+
+    value.setTimeValue(3345678901);
+    if (value.getTimeValue() != 3345678901) {
+        erreur_time = true;
+    }
+
+    if (erreur_time) {
+        DEBUG("ERREUR sur set/get de valeurs time !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs char time OK\n");
+    }
+}
+
+
+static void testValueComparisons() {
+  Value value1, value2;
+  value1.setBoolValue(true);
+  value2.setBoolValue(false);
+
+  if (value1.compareTo(value2) != 1) {
+    DEBUG("ERREUR sur comparaison de valeurs booleennes !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs booleennes OK\n");
+  }
+
+  value1.setCharValue(65);
+  value2.setCharValue(64);
+
+  if (value1.compareTo(value2) != 1) {
+    DEBUG("ERREUR sur comparaison de valeurs char !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs char OK\n");
+  }
+
+  value1.setUint8Value(0);
+  value2.setUint8Value(3);
+
+  if (value1.compareTo(value2) != -1) {
+    DEBUG("ERREUR sur comparaison de valeurs uint8 !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs uint8 OK\n");
+  }
+
+  value1.setInt8Value(-117);
+  value2.setInt8Value(-116);
+
+  if (value1.compareTo(value2) != -1) {
+    DEBUG("ERREUR sur comparaison de valeurs int8 !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs int8 OK\n");
+  }
+
+  value1.setUint16Value(8764);
+  value2.setUint16Value(8760);
+
+  if (value1.compareTo(value2) != 1) {
+    DEBUG("ERREUR sur comparaison de valeurs uint16 !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs uint16 OK\n");
+  }
+
+  value1.setInt16Value(-11740);
+  value2.setInt16Value(-11664);
+
+  if (value1.compareTo(value2) != -1) {
+    DEBUG("ERREUR sur comparaison de valeurs int16 !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs int16 OK\n");
+  }
+
+  value1.setUint32Value(87619874);
+  value2.setUint32Value(87619874);
+
+  if (value1.compareTo(value2) != 0) {
+    DEBUG("ERREUR sur comparaison de valeurs uint32 !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs uint32 OK\n");
+  }
+
+  value1.setInt32Value(-11740765);
+  value2.setInt32Value(-11740766);
+
+  if (value1.compareTo(value2) != 1) {
+    DEBUG("ERREUR sur comparaison de valeurs int32 !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs int32 OK\n");
+  }
+
+  value1.setFloatValue(-1174.75);
+  //DEBUG("Valeur float 1 : %f\n", value1._value.value.float_value);
+  value2.setFloatValue(-1174.74);
+  //DEBUG("Valeur float 2 : %f\n", value2._value.value.float_value);
+
+  if (value1.compareTo(value2) != -1) {
+    DEBUG("ERREUR sur comparaison de valeurs float !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs float OK\n");
+  }
+
+  value1.setDoubleValue(0.6545);
+  value2.setDoubleValue(1.8765);
+
+  if (value1.compareTo(value2) != -1) {
+    DEBUG("ERREUR sur comparaison de valeurs double !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs double OK\n");
+  }
+
+  value1.setTimeValue(6545);
+  value2.setTimeValue(8765);
+
+  if (value1.compareTo(value2) != -1) {
+    DEBUG("ERREUR sur comparaison de valeurs time !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs time OK\n");
+  }
+
+  value1.setTimeValue(6545);
+  value2.setFloatValue(8765.543);
+
+  if (value1.compareTo(value2) != -2) {
+    DEBUG("ERREUR sur comparaison de valeurs de types differents !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs de types differents OK\n");
+  }
+}
+
+
+int main(int argc, char** argv) {
+  testSetGetValues();
+  testValueComparisons();
+  testGetValueAsString();
+  testDifferencesWithDelta();
+  return 0;
+}