Comparer des nombres
Résumé
- Nom interne :
CompareNumber - Catégorie : Outils
- Objectif : Comparer deux valeurs numériques avec un opérateur de comparaison configurable et retourner un résultat booléen.
- Type de tâche : Conditionnelle
Compatibilité
-
Version minimale AndroMate :
1.1.0 -
Version maximale AndroMate :
1.1.0 -
Android minimum :
Android 13 (API 33) -
Android maximum testé :
Android 16 (API 36) -
Constructeurs supportés :
- ✅ Samsung (One UI 6.x / 7.x / 8.x)
- ✅ Google Pixel (Android Stock)
- ⚠️ Autres constructeurs — non testés
-
Permissions requises :
- Aucune
Description détaillée
La tâche Comparer des nombres compare deux valeurs numériques (num_x et num_y) à l'aide d'un opérateur de comparaison spécifié. Elle retourne true ou false et dirige l'exécution vers la branche correspondante du graphe de workflow.
num_x et num_y supportent les références $variable_workflow — elles sont résolues à l'exécution et parsées en valeurs double avant que la comparaison ne soit effectuée. La valeur par défaut pour les deux est 0.
Opérateurs de comparaison
Le champ compare_type est un code entier qui détermine comment num_x est comparé à num_y.
Code compare_type |
Opérateur | Condition |
|---|---|---|
1 |
== |
num_x est égal à num_y |
2 |
> |
num_x est strictement supérieur à num_y |
3 |
< |
num_x est strictement inférieur à num_y |
4 |
>= |
num_x est supérieur ou égal à num_y |
5 |
<= |
num_x est inférieur ou égal à num_y |
Paramètres d'entrée
| Paramètre | Type | Obligatoire | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
num_x |
Double | Oui | Toute valeur numérique — supporte les références $variable |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | 0 |
num_y |
Double | Oui | Toute valeur numérique — supporte les références $variable |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | 0 |
compare_type |
Integer | Oui | 1 (==) / 2 (>) / 3 (<) / 4 (>=) / 5 (<=) |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | — |
Paramètres de sortie
Cette tâche est une tâche conditionnelle — elle ne produit aucune variable de sortie. Le résultat booléen contrôle la branche d'exécution :
| Résultat | Condition | Branche empruntée |
|---|---|---|
true |
La condition de comparaison est satisfaite | Lien "true" |
false |
La condition de comparaison n'est pas satisfaite | Lien "false" |
Exceptions
| Code | Nom de l'exception | Description |
|---|---|---|
COMPARE-VAR-001 |
Type de comparaison non supporté | La valeur fournie dans compare_type ne correspond à aucun code d'opérateur supporté. Codes acceptés : 1 (==), 2 (>), 3 (<), 4 (>=), 5 (<=). |
Diagramme d'exécution
Le diagramme suivant illustre l'implémentation réelle basée sur le code Android :
flowchart TD
Start([Démarrer CompareNumber]) --> ReadType[📋 Lire le code entier compare_type]
ReadType --> ValidateType{Code connu ?}
ValidateType -->|Non| E1[❌ COMPARE-VAR-001]
ValidateType -->|Oui| ResolveX[🔄 Résoudre num_x\ndepuis le contexte workflow]
ResolveX --> ResolveY[🔄 Résoudre num_y\ndepuis le contexte workflow]
ResolveY --> Eval{Évaluer\nnum_x OP num_y}
Eval -->|code 1 — ==| EqualOp["num_x == num_y"]
Eval -->|code 2 — >| SupOp["num_x > num_y"]
Eval -->|code 3 — <| InfOp["num_x < num_y"]
Eval -->|code 4 — >=| EqualSupOp["num_x >= num_y"]
Eval -->|code 5 — <=| EqualInfOp["num_x <= num_y"]
EqualOp --> Result{résultat booléen}
SupOp --> Result
InfOp --> Result
EqualSupOp --> Result
EqualInfOp --> Result
Result -->|true| True([✅ true → suivre la branche true])
Result -->|false| False([✅ false → suivre la branche false])
E1 --> Error([❌ Exception])
style Start fill:#e3f2fd
style True fill:#c8e6c9
style False fill:#ffe0e0
style Error fill:#ffcdd2
style E1 fill:#ffcdd2
style ResolveX fill:#fff9c4
style ResolveY fill:#fff9c4
style EqualOp fill:#f3e5f5
style SupOp fill:#f3e5f5
style InfOp fill:#f3e5f5
style EqualSupOp fill:#f3e5f5
style EqualInfOp fill:#f3e5f5
Comment ça fonctionne :
- Lire l'opérateur : le code entier
compare_typeest lu depuis le JSON de la tâche - Valider : si le code est inconnu, lève
COMPARE-VAR-001 - Résoudre les opérandes :
num_xetnum_ysont résolus depuis le contexte workflow et parsés endouble - Exécuter la comparaison : la comparaison numérique correspondante est appliquée
- Retourner le résultat :
trueoufalse— le moteur workflow route vers la branche correspondante
Exemples de code
Exemple 1 — Vérification d'égalité
{
"CompareNumber": [
{
"id": "1",
"title": "HTTP 200 ?",
"num_x": "$http_status",
"num_y": "200",
"compare_type": 1
}
]
}
Retourne true si $http_status est égal à 200.
Exemple 2 — Inférieur à
{
"CompareNumber": [
{
"id": "2",
"title": "RTT acceptable ?",
"num_x": "$rtt_ms",
"num_y": "500",
"compare_type": 3
}
]
}
Retourne true si $rtt_ms est strictement inférieur à 500.
Exemple 3 — Supérieur ou égal
{
"CompareNumber": [
{
"id": "3",
"title": "Signal suffisant ?",
"num_x": "$signal_dbm",
"num_y": "-80",
"compare_type": 4
}
]
}
Retourne true si $signal_dbm est supérieur ou égal à -80.
Détails des paramètres d'entrée
1. Paramètre d'entrée : num_x
L'opérande numérique de gauche. Supporte les références $variable_workflow — résolues à l'exécution et parsées en valeur double avant la comparaison.
- Défaut :
0 - Supporte les variables : Oui
2. Paramètre d'entrée : num_y
L'opérande numérique de droite. Supporte les références $variable_workflow — résolues à l'exécution et parsées en valeur double avant la comparaison.
- Défaut :
0 - Supporte les variables : Oui
3. Paramètre d'entrée : compare_type
Un code entier qui sélectionne la comparaison numérique à appliquer entre num_x et num_y.
| Code | Opérateur | Condition |
|---|---|---|
1 |
== |
num_x est égal à num_y |
2 |
> |
num_x est strictement supérieur à num_y |
3 |
< |
num_x est strictement inférieur à num_y |
4 |
>= |
num_x est supérieur ou égal à num_y |
5 |
<= |
num_x est inférieur ou égal à num_y |
- Défaut : — (obligatoire, pas de valeur par défaut — déclenche
COMPARE-VAR-001si code inconnu)