✅ Test de l'aiguillage plus complet
Ajout d'une imbrication. Les exemples sont renommés pour avoir un minimum de sens : on image coder le droit du logementpull/37/head
parent
4df2dbb03c
commit
b7a81813c6
|
@ -183,8 +183,9 @@ export let mecanismNumericalSwitch = (recurse, k,v) => {
|
|||
}
|
||||
|
||||
let evaluateTerms = (situationGate, parsedRules, node) => {
|
||||
let evaluateOne = child => evaluateNode(situationGate, parsedRules, child),
|
||||
explanation = R.map(evaluateOne, node.explanation),
|
||||
let
|
||||
evaluateOne = child => evaluateNode(situationGate, parsedRules, child),
|
||||
explanation = R.map(evaluateOne, node.explanation),
|
||||
choice = R.find(node => node.condValue, explanation),
|
||||
nonFalsyTerms = R.filter(node => node.condValue !== false, explanation),
|
||||
getFirst = (prop) => R.pipe(R.head, R.prop(prop))(nonFalsyTerms),
|
||||
|
|
|
@ -19,5 +19,5 @@ let directoryLoaderFunction =
|
|||
|
||||
let items =
|
||||
loadAll(directoryLoaderFunction)
|
||||
|
||||
console.log('items', items)
|
||||
export default items
|
||||
|
|
|
@ -1,39 +1,64 @@
|
|||
# Attendus
|
||||
# 'should set the right value to a numerical switch when a condition is verified'
|
||||
# should set a numerical switch to 0 if no condition is true
|
||||
# Utiliser http://romainvaleri.online.fr/ pour se donner des idées de noms de variables originales
|
||||
|
||||
# Utiliser http://romainvaleri.online.fr/ pour rigoler un peu
|
||||
- nom: dégradation mineure
|
||||
|
||||
- nom: dégradation majeure
|
||||
|
||||
- nom: taulard cyclothymique
|
||||
|
||||
- nom: nombre de gigolos rachitiques
|
||||
format: nombre
|
||||
|
||||
- nom: aiguillage numérique simple
|
||||
|
||||
- nom: retenue sur dépot de garantie 1
|
||||
test: Aiguillage numérique simple
|
||||
formule:
|
||||
aiguillage numérique:
|
||||
taulard cyclothymique: 3%
|
||||
nombre de gigolos rachitiques > 1800 : 1.5%
|
||||
dégradation mineure: 10%
|
||||
dégradation majeure: 30%
|
||||
|
||||
exemples:
|
||||
- nom: le premier aiguillage est activé -> sa valeur est renvoyée
|
||||
situation:
|
||||
taulard cyclothymique: oui
|
||||
nombre de gigolos rachitiques: 1789
|
||||
valeur attendue: 0.03
|
||||
dégradation mineure: oui
|
||||
valeur attendue: 0.1
|
||||
- nom: seul le 2ème aiguillage est activé
|
||||
situation:
|
||||
taulard cyclothymique: non
|
||||
nombre de gigolos rachitiques: 1801
|
||||
valeur attendue: 0.015
|
||||
dégradation mineure: non
|
||||
dégradation majeure: oui
|
||||
valeur attendue: 0.3
|
||||
- nom: aucun aiguillage n'est activé
|
||||
situation:
|
||||
taulard cyclothymique: non
|
||||
nombre de gigolos rachitiques: 1789
|
||||
dégradation mineure: non
|
||||
dégradation majeure: non
|
||||
valeur attendue: 0
|
||||
- nom: L'ordre des termes est important
|
||||
situation:
|
||||
dégradation mineure: null
|
||||
dégradation majeure: oui
|
||||
valeur attendue: null
|
||||
|
||||
|
||||
- nom: montant caution
|
||||
format: €
|
||||
|
||||
- nom: retenue sur dépot de garantie 2
|
||||
test: Aiguillages numériques imbriqués
|
||||
formule:
|
||||
aiguillage numérique:
|
||||
dégradation mineure: 5%
|
||||
dégradation majeure:
|
||||
montant caution > 2000: 20%
|
||||
montant caution > 1000: 10%
|
||||
|
||||
|
||||
exemples:
|
||||
- nom: imbrication simple
|
||||
situation:
|
||||
dégradation mineure: oui
|
||||
dégradation majeure: non
|
||||
montant caution: 3000
|
||||
valeur attendue: 0.05
|
||||
- nom: imbrication simple 2
|
||||
situation:
|
||||
dégradation mineure: non
|
||||
dégradation majeure: oui
|
||||
montant caution: 1200
|
||||
valeur attendue: 0.10
|
||||
|
||||
# tester une imbrication d ' aiguillages
|
||||
|
||||
# pouvoir tester les variables inconnues mais requises ?
|
||||
|
|
|
@ -10,21 +10,21 @@
|
|||
- farine
|
||||
- sucre
|
||||
|
||||
# exemples:
|
||||
# - nom: somme simple
|
||||
# situation:
|
||||
# farine: 29000
|
||||
# sucre: 200
|
||||
# valeur attendue: 29200
|
||||
# - nom: un nul dans la somme
|
||||
# situation:
|
||||
# sucre: 200
|
||||
# valeur attendue: null
|
||||
# - nom: une somme de nuls
|
||||
# situation: # pas de situation
|
||||
# valeur attendue: null
|
||||
# - nom: un entier + un flotant
|
||||
# situation:
|
||||
# farine: 2.1
|
||||
# sucre: 200
|
||||
# valeur attendue: 202.1
|
||||
exemples:
|
||||
- nom: somme simple
|
||||
situation:
|
||||
farine: 29000
|
||||
sucre: 200
|
||||
valeur attendue: 29200
|
||||
- nom: un nul dans la somme
|
||||
situation:
|
||||
sucre: 200
|
||||
valeur attendue: null
|
||||
- nom: une somme de nuls
|
||||
situation: # pas de situation
|
||||
valeur attendue: null
|
||||
- nom: un entier + un flotant
|
||||
situation:
|
||||
farine: 2.1
|
||||
sucre: 200
|
||||
valeur attendue: 202.1
|
||||
|
|
Loading…
Reference in New Issue