Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

feat: modifica controllo ordine voci per criteri C.SI.1.3 e R.SC.1.2 #545

Merged
merged 1 commit into from
Nov 14, 2024

Conversation

lorenzo-vernocchi
Copy link
Collaborator

No description provided.

@tensor5 tensor5 merged commit 459539e into main Nov 14, 2024
2 checks passed
@tensor5 tensor5 deleted the feat/order_function branch November 14, 2024 09:37
@enrimk
Copy link

enrimk commented Nov 25, 2024

@lorenzo-vernocchi @tensor5
Sembra che ora il risultato della verifica dipenda dal verso dello spostamento delle voci.
È corretta con voci "anticipate", ma può sovrastimare con voci "posticipate" (vengono considerate fuori sequenza quelle che guadagnano posti).

const ordineObbligatorio = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"];
const vociRilevate = ["A", "B", "1", "2", "C", "D", "5", "6", "7", "8", "9", "E", "F", "10", "3", "4", "12", "14", "G"];
// "3" e "4" spostate _dopo_ la loro posizione.

const orderResult = checkOrderLoose(
  ordineObbligatorio.map(toMenuItem),
  vociRilevate.filter(el=>ordineObbligatorio.includes(el))
);

console.log(orderResult.elementsNotInSequence) // ['5', '6', '7', '8', '9', '10']
// ...Invece dell'atteso ['3', '4'].

@tensor5
Copy link
Contributor

tensor5 commented Nov 27, 2024

C'è un problema con l'implementazione di checkOrderLoose.

@enrimk
Copy link

enrimk commented Nov 27, 2024

Funziona tutto sommato bene, solo che è poco... "loose" 😄
Nel senso che tecnicamente ha ragione, nell'individuare gli elementi fuori sequenza partendo dal primo che trova, e contandoli tutti... ma una persona che li contasse a mano, implicitamente limiterebbe il numero al minimo di "mosse" necessarie. Credo che il criterio del Modello segua appunto il metodo di contare "a buon senso".

Magari l'implementazione attuale potrebbe sostituire checkOrder (che è proprio buggata e non serve più). E una nuova checkOrderLoose potrebbe fare un controllo due volte in versi opposti (usando checkOrder), e prendere il minimo?

@tensor5
Copy link
Contributor

tensor5 commented Nov 27, 2024

Quello che faremo sarà di individuare con certezza quando “il numero minimo di mosse” è 1. Quando è maggiore di 1, segnaleremo genericamente che “due o più voci non sono in ordine”, e che il criterio è fallito.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants