lspitzner / lspitzner/pqueue

Add validity testing

Offen
#29 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

testing
Vorherrschende Sprache
Haskell
Sterne
17
Forks
12
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

There are three invariants not enforced by the types:

  1. The child of a Skip can't be Empty (i.e., no trailing zeros).
  2. The key stored in the root node is minimal.
  3. The binomial trees are heap-ordered.

We should test that all operations produce valid queues.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Definitionen des Queue-Typs und die Implementierungen aller Queue-Operationen zu lokalisieren. Füge Gültigkeitstests hinzu, die die drei genannten Invarianten abdecken: kein Empty-Kind unter Skip, ein minimaler Wurzelschlüssel und heap-geordnete Binomialbäume. Erledigt bedeutet, dass jede Operation darauf getestet wird, gültige Queues zu erzeugen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
haskell
Bereich
data
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.