mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-09 02:55:01 +00:00
Dans #719 nous changions la structure de données Yaml de premier niveau d'une liste vers un objet (indexé sur le nom des règles) pour les fichiers Publicode. Ce commit réplique ce changement pour les fichiers de tests de mécanismes qui n'avaient pas encore été migré vers le nouveau format. L'attribut "test" qui servait à définir le nom du test est supprimé et on utilise maintenant directement le nom de la règle (ou son titre s'il est défini) comme nom du test.
279 lines
5.4 KiB
YAML
279 lines
5.4 KiB
YAML
entier:
|
|
formule: 5
|
|
exemples:
|
|
- valeur attendue: 5
|
|
|
|
nombre décimal:
|
|
formule: 5.4
|
|
exemples:
|
|
- valeur attendue: 5.4
|
|
|
|
addition de nombres:
|
|
formule: 28 + 1.1
|
|
exemples:
|
|
- valeur attendue: 29.1
|
|
|
|
addition de plusieurs nombres:
|
|
formule: 27 + 1.1 + 0.9
|
|
exemples:
|
|
- valeur attendue: 29
|
|
|
|
addition et multiplication:
|
|
formule: 27 + 1 * 2
|
|
exemples:
|
|
- valeur attendue: 29
|
|
|
|
parenthèses:
|
|
formule: 14.5 * (6 - 4)
|
|
exemples:
|
|
- valeur attendue: 29
|
|
|
|
salaire de base:
|
|
unité: $
|
|
|
|
contrat . salaire de base:
|
|
|
|
multiplication:
|
|
formule: salaire de base * 3
|
|
unité attendue: $
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 1000
|
|
valeur attendue: 3000
|
|
|
|
multiplication et variable avec espace:
|
|
formule: contrat . salaire de base * 3
|
|
exemples:
|
|
- situation:
|
|
contrat . salaire de base: 1000
|
|
valeur attendue: 3000
|
|
|
|
taux:
|
|
unité: '%'
|
|
|
|
soustraction:
|
|
unité: '%'
|
|
formule: 100% - taux
|
|
unité attendue: '%'
|
|
exemples:
|
|
- situation:
|
|
taux: 89
|
|
valeur attendue: 11
|
|
|
|
addition:
|
|
formule: salaire de base + 2000
|
|
unité attendue: $
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 3000
|
|
valeur attendue: 5000
|
|
|
|
revenus fonciers:
|
|
|
|
addition bis:
|
|
formule: salaire de base + revenus fonciers
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 3000
|
|
revenus fonciers: 2000
|
|
valeur attendue: 5000
|
|
|
|
division:
|
|
formule: salaire de base / 3
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 3000
|
|
valeur attendue: 1000
|
|
|
|
division deux:
|
|
formule: 2000 / salaire de base
|
|
unité attendue: /$
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 3000
|
|
valeur attendue: 0.66667
|
|
|
|
nombre de personnes:
|
|
unité: personne
|
|
|
|
division trois:
|
|
formule: salaire de base / nombre de personnes
|
|
unité attendue: $ / personne
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 3000
|
|
nombre de personnes: 10
|
|
valeur attendue: 300
|
|
|
|
comparaison stricte:
|
|
formule: salaire de base < 3001
|
|
exemples:
|
|
- nom: inférieur
|
|
situation:
|
|
salaire de base: 3000
|
|
valeur attendue: true
|
|
- nom: égal
|
|
situation:
|
|
salaire de base: 3001
|
|
valeur attendue: false
|
|
- nom: supérieur
|
|
situation:
|
|
salaire de base: 3002
|
|
valeur attendue: false
|
|
|
|
comparaison non stricte:
|
|
formule: salaire de base <= 3000
|
|
exemples:
|
|
- nom: inférieur
|
|
situation:
|
|
salaire de base: 2999.999
|
|
valeur attendue: true
|
|
- nom: égal
|
|
situation:
|
|
salaire de base: 3000
|
|
valeur attendue: true
|
|
- nom: supérieur
|
|
situation:
|
|
salaire de base: 3000.1
|
|
valeur attendue: false
|
|
|
|
plafond sécurité sociale:
|
|
unité: $
|
|
|
|
CDD:
|
|
|
|
CDD . poursuivi en CDI:
|
|
|
|
variable booléene:
|
|
formule: CDD . poursuivi en CDI
|
|
exemples:
|
|
- situation:
|
|
CDD . poursuivi en CDI: oui
|
|
valeur attendue: true
|
|
- situation:
|
|
CDD . poursuivi en CDI: non
|
|
valeur attendue: false
|
|
|
|
booléen:
|
|
formule: oui
|
|
exemples:
|
|
- valeur attendue: true
|
|
|
|
négation:
|
|
formule: CDD . poursuivi en CDI != oui
|
|
exemples:
|
|
- situation:
|
|
CDD . poursuivi en CDI: oui
|
|
valeur attendue: false
|
|
- situation:
|
|
CDD . poursuivi en CDI: non
|
|
valeur attendue: true
|
|
|
|
pourcentage:
|
|
formule: 38.1%
|
|
exemples:
|
|
- valeur attendue: 0.381
|
|
#- test: variable modifiée temporellement
|
|
|
|
multiplication et pourcentage:
|
|
formule: 38.1% * salaire de base
|
|
unité attendue: $
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 1000
|
|
valeur attendue: 381
|
|
|
|
litéral avec unité:
|
|
formule: 1 jour
|
|
unité attendue: jour
|
|
|
|
litéral avec unité €:
|
|
formule: 2 €
|
|
unité attendue: €
|
|
|
|
litéral avec unité complexe:
|
|
formule: 1 €/jour
|
|
unité attendue: €/jour
|
|
|
|
inférence d'unité littéraux:
|
|
formule: 2 €/jour * 2 jour
|
|
valeur attendue: 4
|
|
unité attendue: €
|
|
|
|
catégorie d'activité:
|
|
formule:
|
|
une possibilité:
|
|
- commerciale
|
|
- artisanale
|
|
|
|
catégorie d'activité . artisanale:
|
|
catégorie d'activité . commerciale:
|
|
|
|
test de possibilités:
|
|
formule: catégorie d'activité = 'artisanale'
|
|
exemples:
|
|
- situation:
|
|
catégorie d'activité: artisanale
|
|
valeur attendue: true
|
|
- situation:
|
|
catégorie d'activité: commerciale
|
|
valeur attendue: false
|
|
|
|
revenu:
|
|
unité: €/mois
|
|
|
|
unité de variable modifiée:
|
|
formule: revenu [k€/an]
|
|
exemples:
|
|
- situation:
|
|
revenu: 1000
|
|
valeur attendue: 12
|
|
|
|
opérations multiples:
|
|
formule: 4 * plafond sécurité sociale * 10%
|
|
exemples:
|
|
- situation:
|
|
plafond sécurité sociale: 1000
|
|
valeur attendue: 400
|
|
|
|
comparaison et opération:
|
|
formule: salaire de base < 4 * plafond sécurité sociale
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 1000
|
|
plafond sécurité sociale: 3500
|
|
valeur attendue: true
|
|
|
|
nombres négatifs:
|
|
formule: -5 * -10
|
|
exemples:
|
|
- valeur attendue: 50
|
|
|
|
négation de variable:
|
|
formule: '- salaire de base'
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 3000
|
|
valeur attendue: -3000
|
|
|
|
négation d'expressions:
|
|
formule: '- (10 * 3 + 5)'
|
|
exemples:
|
|
- valeur attendue: -35
|
|
|
|
variables négatives dans expression:
|
|
formule: 10% * (- salaire de base)
|
|
exemples:
|
|
- situation:
|
|
salaire de base: 3000
|
|
valeur attendue: -300
|
|
# TODO
|
|
# expression sur plusieurs lignes:
|
|
# formule: >
|
|
# salaire de base
|
|
# + 2000
|
|
# = 3000
|
|
# exemples:
|
|
# - situation:
|
|
# salaire de base: 1000
|
|
# - valeur attendue: true
|