Instruksjoner til testing av innleveringsoppgave 1

Her kommer ekstra informasjon om innleveringsoppgave 1, med litt tips og triks om hvordan komme i gang, samt hvordan teste programmene!

Last ned inputfiler og testprogram her.

Oppgave 1

For å kjøre en test i Java kan du gjøre følgende:

    $ javac *.java
    $ java BinaryTreeSet < inputs/eksempel_input
    true
    false
    false
    2
  

Tilsvarende i Python:

    $ python3 binarytreeset.py < inputs/eksempel_input
    true
    false
    false
    2
  

Her antar vi at du har lastet ned inputfilene som ligger innenfor en mappe som også inneholder BinaryTreeSet.java eller binarytreeset.py.

For å teste på større eksempler kan du gjøre en av følgende:

    $ java BinaryTreeSet < inputs/input_100 | cmp - outputs/output_100
    $ python3 binarytreeset.py < inputs/input_100 | cmp - outputs/output_100
  

Dersom ingenting skjer passerer testen. Dersom testen ikke passerer vil du få en utskrift som kan se slik ut:

    $ java BinaryTreeSet < inputs/input_100 | cmp - outputs/output_100
    - outputs/output_100 differ: char 1, line 1
  

Oppgave 2

Denne oppgaven kan testes på samme måte som oppgave 1.

Vi forventer ikke at programmet ditt er raskt nok til å håndtere alle testene. Løsningsforslaget løser input_1000000 på ca. 1 sekund.

Oppgave 3

Denne oppgaven kan testes på samme måte som oppgave 1.

Oppgave 4

For å teste programmet ditt kan du bruke programmet BalanceChecker.java (som må kompileres med javac BalanceChecker.java):

    $ seq 20 | java BalanceArray | java BalanceChecker
  

Eller for Python:

    $ seq 20 | python3 balancearray.py | java BalanceChecker
  

Dersom programmet gjør som det skal bør du få følgende utskrift:

  Dette treet ser balansert ut!

Dersom programmet ditt inneholder en feil bør du i stedet se:

    $ seq 20 | java BalanceArray | java BalanceChecker
    Dette treet ser ikke helt balansert ut... prøv igjen!
  

Programmet bør fungere helt likt for oppgave (a) og (b). Altså kan du også kjøre følgende:

    $ seq 20 | java BalanceHeap | java BalanceChecker
    Dette treet ser balansert ut!
  

Eller for Python:

    $ seq 20 | python3 balanceheap.py | java BalanceChecker
    Dette treet ser balansert ut!
  

 

Denne videoen viser hvordan man kan komme i gang med oppgave 2 og oppgave 4 fra obligen i Java. I tillegg live-programmerer vi et program som tester oppgave 4, som innebærer å implementere et binært søketre i Java. Videoen er fra i høsten 2020, men oppgavene som nevnes er uendret fra i tidligere.

Publisert 5. sep. 2022 11:25 - Sist endret 5. sep. 2022 11:30