Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Revision:
24:92c30dabfda4
Parent:
22:a5929d3668b6
--- a/TESTS/Value_unit_tests.cpp	Tue Sep 11 21:11:35 2018 +0000
+++ b/TESTS/Value_unit_tests.cpp	Tue Sep 11 21:45:52 2018 +0000
@@ -28,9 +28,17 @@
 
 
 static void testDifferencesWithDelta() {
-    Value value_1, value_to_substract, delta;
+  //Value::GENERIC_VALUE gen_val_1 = { .value.uint8_value=220, .type=Value::UINT8_T };
+  //Value value_1(gen_val_1), value_to_substract, delta;
+  Value value_1, value_to_substract, delta;
 
-    value_1.setUint8Value(220);
+  value_1.setUint8Value(220);
+  /*
+  DEBUG("Valeur de value_1 : %s\n", value_1.toString().c_str());
+  DEBUG("Type de value_1 : %d\n", value_1.getType());
+  */
+  // std::cout << "Valeur de value_1 : " << value_1.toString() << std::endl;
+  
     value_to_substract.setUint8Value(218);
     delta.setUint8Value(1);
 
@@ -51,173 +59,187 @@
     }
 
     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;
+    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;
+    bool erreur_triple_double = 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 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 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 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 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 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 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 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 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 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 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);
+
+      Value triple_double_value, triple_double_value_to_substract, triple_double_delta;
+      triple_double_value.setTripleDoubleValue(-777.77, -666.66, 555.55);
+      triple_double_value_to_substract.setTripleDoubleValue(-777.0, -666.66, 555.55);
+      triple_double_delta.setTripleDoubleValue(0.1, 0.001, 0.001);
 
-  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 },
+        { &triple_double_value, &triple_double_value_to_substract, &triple_double_delta, false, &erreur_double }
+      };
 
-  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;
-    }
-  }
+      for (int i = 0; i < 12; i++) {
+        //DEBUG("Value[%d]= %s\n", i, tableau[i].value->toString().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_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_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_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_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_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_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_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_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_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_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");
+      }
 
-  if (erreur_time) {
-    DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs time !\n");
-  }
-  else {
-    DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs time OK\n");
-  }
+      if (erreur_triple_double) {
+        DEBUG("ERREUR sur isAbsoluteDifferenceValueGreaterThanDelta de valeurs triple_double !\n");
+      }
+      else {
+        DEBUG("isAbsoluteDifferenceValueGreaterThanDelta de valeurs triple_double OK\n");
+      }
 }
 
 
@@ -233,6 +255,7 @@
   bool erreur_float = false;
   bool erreur_double = false;
   bool erreur_time = false;
+  bool erreur_triple_double = false;
 
   Value bool_val_1;
   bool_val_1.setBoolValue(false);
@@ -297,6 +320,12 @@
   Value time_val_1;
   time_val_1.setTimeValue(1010101010);
 
+  Value triple_double_val_1;
+  double_val_1.setTripleDoubleValue(-321.123, 87.654, 12345.6);
+
+  Value triple_double_val_2;
+  double_val_2.setTripleDoubleValue(-7.0/3, 63.0/19, 1.0/7);
+
   GVAS_struct   tableau[50] = {
     { &bool_val_1, "false", &erreur_bool },
     { &bool_val_2, "true", &erreur_bool },
@@ -318,99 +347,109 @@
     { &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 }
+    { &time_val_1, "1010101010", &erreur_time },
+    { &triple_double_val_1, "-321.123,87.654,12345.6", &erreur_triple_double },
+    { &triple_double_val_2, "-2.33333,3.31579,0.142857", &erreur_triple_double }
   };
 
   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());
+    //DEBUG("Value[%d]= %s\n", i, tableau[i].value->toString().c_str());
+    if (strcmp(tableau[i].value->toString().c_str(), tableau[i].chaine) != 0) {
+        DEBUG("Expected : %s, obtained : %s\n", tableau[i].chaine, tableau[i].value->toString().c_str());
       *(tableau[i].flag_erreur) = true;
     }
   }
 
 
   if (erreur_bool) {
-    DEBUG("ERREUR sur getValueAsString de valeurs bool !\n");
+    DEBUG("ERREUR sur toString de valeurs bool !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs bool OK\n");
+    DEBUG("toString de valeurs bool OK\n");
   }
 
   if (erreur_char) {
-    DEBUG("ERREUR sur getValueAsString de valeurs char !\n");
+    DEBUG("ERREUR sur toString de valeurs char !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs char OK\n");
+    DEBUG("toString de valeurs char OK\n");
   }
 
   if (erreur_uint8) {
-    DEBUG("ERREUR sur getValueAsString de valeurs uint8 !\n");
+    DEBUG("ERREUR sur toString de valeurs uint8 !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs uint8 OK\n");
+    DEBUG("toString de valeurs uint8 OK\n");
   }
 
   if (erreur_int8) {
-    DEBUG("ERREUR sur getValueAsString de valeurs int8 !\n");
+    DEBUG("ERREUR sur toString de valeurs int8 !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs int8 OK\n");
+    DEBUG("toString de valeurs int8 OK\n");
   }
 
   if (erreur_uint16) {
-    DEBUG("ERREUR sur getValueAsString de valeurs uint16 !\n");
+    DEBUG("ERREUR sur toString de valeurs uint16 !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs uint16 OK\n");
+    DEBUG("toString de valeurs uint16 OK\n");
   }
 
   if (erreur_int16) {
-    DEBUG("ERREUR sur getValueAsString de valeurs int16 !\n");
+    DEBUG("ERREUR sur toString de valeurs int16 !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs int16 OK\n");
+    DEBUG("toString de valeurs int16 OK\n");
   }
 
   if (erreur_uint32) {
-    DEBUG("ERREUR sur getValueAsString de valeurs uint32 !\n");
+    DEBUG("ERREUR sur toString de valeurs uint32 !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs uint32 OK\n");
+    DEBUG("toString de valeurs uint32 OK\n");
   }
 
   if (erreur_int32) {
-    DEBUG("ERREUR sur getValueAsString de valeurs int32 !\n");
+    DEBUG("ERREUR sur toString de valeurs int32 !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs int32 OK\n");
+    DEBUG("toString de valeurs int32 OK\n");
   }
 
   if (erreur_float) {
-    DEBUG("ERREUR sur getValueAsString de valeurs float !\n");
+    DEBUG("ERREUR sur toString de valeurs float !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs float OK\n");
+    DEBUG("toString de valeurs float OK\n");
   }
 
   if (erreur_double) {
-    DEBUG("ERREUR sur getValueAsString de valeurs double !\n");
+    DEBUG("ERREUR sur toString de valeurs double !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs double OK\n");
+    DEBUG("toString de valeurs double OK\n");
   }
 
   if (erreur_time) {
-    DEBUG("ERREUR sur getValueAsString de valeurs time !\n");
+    DEBUG("ERREUR sur toString de valeurs time !\n");
   }
   else {
-    DEBUG("getValueAsString de valeurs time OK\n");
+    DEBUG("toString de valeurs time OK\n");
+  }
+
+  if (erreur_triple_double) {
+    DEBUG("ERREUR sur toString de valeurs triple_double !\n");
+  }
+  else {
+    DEBUG("toString de valeurs triple_double OK\n");
   }
 }
 
 
 static void testSetGetValues() {
     Value value;
+    double* triple_double_value_check;
     bool erreur_bool = false;
     bool erreur_char = false;
     bool erreur_uint8 = false;
@@ -422,6 +461,7 @@
     bool erreur_float = false;
     bool erreur_double = false;
     bool erreur_time = false;
+    bool erreur_triple_double = false;
 
     // Valeurs booléennes
     value.setBoolValue(true);
@@ -626,7 +666,45 @@
         DEBUG("ERREUR sur set/get de valeurs time !\n");
     }
     else {
-        DEBUG("Set/get de valeurs char time OK\n");
+        DEBUG("Set/get de valeurs time OK\n");
+    }
+
+    // Valeurs triple double
+    value.setTripleDoubleValue(-6276.7, -7.0/13, 87.65);
+    DEBUG("Valeur double0 : %f\n", value._value.value.triple_double_values[0]);
+    DEBUG("Valeur double1 : %f\n", value._value.value.triple_double_values[1]);
+    DEBUG("Valeur double2 : %f\n", value._value.value.triple_double_values[2]);
+    triple_double_value_check = value.getTripleDoubleValue();
+    if ((triple_double_value_check[0] + 6276.7) > 0.000001) {
+        erreur_triple_double = true;
+    }
+    if ((triple_double_value_check[1] + 0.53846) > 0.000001) {
+        erreur_triple_double = true;
+    }
+    if ((triple_double_value_check[2] - 87.65) > 0.000001) {
+        erreur_triple_double = true;
+    }
+
+    value.setTripleDoubleValue(1207545765.1, 777.777, -111.111);
+    DEBUG("Valeur double0 : %f\n", value._value.value.triple_double_values[0]);
+    DEBUG("Valeur double1 : %f\n", value._value.value.triple_double_values[1]);
+    DEBUG("Valeur double2 : %f\n", value._value.value.triple_double_values[2]);
+    triple_double_value_check = value.getTripleDoubleValue();
+    if ((triple_double_value_check[0] - 1207545765.1) > 0.000001) {
+        erreur_triple_double = true;
+    }
+    if ((triple_double_value_check[1] - 777.777) > 0.000001) {
+        erreur_triple_double = true;
+    }
+    if ((triple_double_value_check[2] + 111.111) > 0.000001) {
+        erreur_triple_double = true;
+    }
+
+    if (erreur_triple_double) {
+        DEBUG("ERREUR sur set/get de valeurs triple_double !\n");
+    }
+    else {
+        DEBUG("Set/get de valeurs triple_double OK\n");
     }
 }
 
@@ -754,6 +832,16 @@
   else {
     DEBUG("Comparaison de valeurs de types differents OK\n");
   }
+
+  value1.setTripleDoubleValue(0.675, -876.0, 1.23);
+  value2.setTripleDoubleValue(0.675, -876.0, 1.23);
+
+  if (value1.compareTo(value2) != 0) {
+    DEBUG("ERREUR sur comparaison de valeurs triple_double !\n");
+  }
+  else {
+    DEBUG("Comparaison de valeurs triple_double OK\n");
+  }
 }