12#ifndef ARCANE_UTILS_VALUECHECKER_H
13#define ARCANE_UTILS_VALUECHECKER_H
18#include "arcane/utils/OStringStream.h"
19#include "arcane/utils/TraceInfo.h"
47 , m_throw_on_error(
true)
55 template <
typename T1,
typename T2,
typename X = std::is_convertible<T2, T1>>
59 _addError(String::format(
"{0} value={1} expected={2}", message, value,
expected_value));
67 template <
typename T1,
typename T2,
68 typename ValueType =
typename T1::value_type,
69 typename X1 = std::is_convertible<T1, Span<const ValueType>>,
70 typename X2 = std::is_convertible<T1, Span<const ValueType>>>
80 _addError(String::format(
"{0} bad array size n={1} expected={2}",
87 for (Int64 i = 0; i <
nb_value; ++i) {
88 const ValueType& v = values[i];
91 _addError(String::format(
"{0} index={1} value={2} expected={3}", message, i, v, e));
100 template <
typename T>
107 _addError(String::format(
"{0} bad array size n={1} expected={2}",
114 for (Int64 i = 0; i <
nb_value; ++i)
122 template <
typename T>
137 m_throw_on_error = v;
144 Integer
nbError()
const {
return m_nb_error; }
152 bool m_throw_on_error;
156 void _addError(
const String& message);
Déclarations des types utilisés dans Arcane.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Flot de sortie lié à une String.
Vérification de la validité de certaines valeurs.
void areEqual(const T1 &value, const T2 &expected_value, const String &message)
void areEqualArray(const T1 &x_values, const T2 &x_expected_values, const String &message)
Vérifie que les deux tableaux values et expected_values ont les mêmes valeurs.
void areEqualArray(SmallSpan2< T > values, SmallSpan2< T > expected_values, const String &message)
Vérifie que les deux tableaux values et expected_values ont les mêmes valeurs.
bool throwOnError() const
Indique si on lève une exception en cas d'erreur.
void areEqualArray(Span2< const T > values, Span2< const T > expected_values, const String &message)
Vérifie que les deux tableaux 2D values et expected_values ont les mêmes valeurs.
Integer nbError() const
Nombre d'erreurs.
void setThrowOnError(bool v)
Indique si on lève une exception en cas d'erreur.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-