Tehtävänanto ja muuta materiaalia
- Harjoitustyön infokalvot.
- Tarkka tehtävänanto pdf-muodossa.
Esimerkkiajot
Esimerkit ovat saatavilla kahdessa muodossa:
- Windows-muotoiset rivinvaihdot. Nämä tiedostot ovat saatavilla yksittäin tai zip-paketissa.
- Linux/Mac-muotoiset rivinvaihdot. Saatavilla yksittäin tai zip-paketissa.
Esimerkeistä ei ole versioita eri merkistöille, koska tiedostoissa on vain 7-bittisen ASCII-merkistön ”näkyviä” merkkejä, joiden esitystapa on sama niin Latin 1 (ISO 8859-1) kuin UTF-8-koodatussa Unicode-merkistöissä.
Oman ohjelman tulosteita kannattaa vertailla esimerkkitiedostoihin ennen WETO-palautuksia.
Brain_check1-, brain_check2-, dilate_rectangle-, erode_rectangle-, spot-, spots–, cat- ja errors-esimerkkeihin liittyy neljä tiedostoa. Ohjelmalle komentoriviparametrina annettava kuvatiedosto on image-alkuisessa tiedostossa. Input-alkuisessa tiedostossa ovat ohjelmalle annettavat komennot ja vastaavassa output-alkuisessa tiedostossa ovat komentoja vastaavat näyttötulosteet. Syötteet ja niitä vastaavat tulosteet on yhdistetty combination-alkuiseen tiedostoon ajamalla malliohjelma echo-komentoriviparametrilla.
Virheellisiin komentoriviparametreihin liittyvien args1-, args2– ja args3-testien sekä puuttuvaan tiedostoon liittyvään x-file-testin ja virheellisiin tiedostoihin liittyvien image_too_colourful-, image_too_short-, image_too_tall-, image_too_thin-, image_too_wide– ja image_too_twisted-esimerkkien osalta ei ole annettu input– ja combination-tiedostoja, koska ohjelmalle ei päästä antamaan komentoja ennen ohjelman pysähtymistä.
Alla olevassa taulukossa on annettu komennot, joilla ohjelma on käynnistetty tai yritetty käynnistää kussakin testissä. Komennosta selviää testissä käytetyn kuvatiedoston nimi, jos sellainen on määritelty.
Testi | Kuva |
brain_check1 | java BimEdit image_x.txt |
brain_check2 | java BimEdit image_plus.txt |
dilate_rectangle | java BimEdit image_small_rectangle.txt |
erode_rectangle | java BimEdit image_large_rectangle.txt |
spot | java BimEdit image_spot.txt |
spots | java BimEdit image_spots.txt |
cat | java BimEdit image_cat.txt |
errors | java BimEdit image_spot.txt |
args1 | java BimEdit |
args2 | java BimEdit spot.txt b c |
args3 | java BimEdit spot.txt abc |
x-file | java BimEdit x-file.txt |
too_colourful | java BimEdit image_too_colourful.txt |
too_short | java BimEdit image_too_short.txt |
too_tall | java BimEdit image_too_tall.txt |
too_thin | java BimEdit image_too_thin.txt |
too_wide | java BimEdit image_too_wide.txt |
too_twisted | java BimEdit image_too_twisted.txt |
Omaa ohjelmaa voi testata omatoimisesti WETO:n tapaan uudelleenohjausta käyttämällä. Uudelleenohjauksesta on kerrottu luentorungon luvussa 4.2.
Esimerkiksi brain_check1-testin voi ajaa seuraavasti:
java BimEdit image_x.txt < input_brain_check1.txt
jolloin ohjelma lukee syötteet input_brain_check1.txt-tiedostosta ilman, että tiedoston syötteitä tarvitsee antaa ohjelmalle käsin. Ohjelma tulostaa normaaliin tapaan näytölle. Edellä oletetaan, että syötetiedosto on samassa hakemistossa kuin harjoitustyöohjelma.
Echo-komentoriviparametria käyttämällä:
java BimEdit image_x.txt echo < input_brain_check1.txt
näytölle tulostuvat limittäin komennot ja ohjelman tulosteet, jolloin ohjelman toimintaa on helpompi seurata.
Uudelleenohjausta voi hyödyntää laajemmin näin:
java BimEdit image_x.txt < input_brain_check1.txt > out.txt
Yllä testin syötteet ohjataan syötetiedostosta ohjelmalle ja ohjelman tuloste kaapataan out.txt-tiedostoon uudelleenohjauksen avulla.
Out.txt-tiedoston sisältöä voi vertailla output_brain_check1.txt-tiedostossa oleviin malliohjelman tulosteisiin joko silmämääräisesti tai tiedostoja vertailevalla käyttöjärjestelmän komennolla. Windowsissa tällainen komento on fc ja Mac- ja Linux-järjestelmissä monimutkaisempi diff.
Edellisen esimerkin tulosteita voisi vertailla Windowsissa näin:
fc output_brain_check1.txt out.txt
kun myös testin tulostiedosto on harjoitustyöohjelman hakemistossa.
Input_brain_check1-testi kaksisuuntaisella uudelleenohjauksella ja komentojen kaiutuksella:
java BimEdit image_x.txt echo < input_brain_check1.txt > out.txt
Out.txt-tiedoston sisältöä on tässä tapauksessa verrattava combination_brain_check1.txt-tiedostoon.
Lähdekoodin ja testitiedostot voi pitää erillään tallentamalla tiedostot omaan hakemistoonsa. Oletetaan, että testitiedostot ovat Windows-järjestelmässä lähdekoodihakemiston esimerkit-alihakemistossa. Tällöin edellä annetut komennot olisivat:
java BimEdit esimerkit\image_x.txt < esimerkit\input_brain_check1.txt
java BimEdit esimerkit\image_x.txt echo < esimerkit\input_brain_check1.txt
java BimEdit esimerkit\image_x.txt < esimerkit\input_brain_check1.txt > out.txt
fc esimerkit\output_brain_check1.txt out.txt
java BimEdit esimerkit\image_x.txt echo < esimerkit\input_brain_check1.txt > out.txt
Salaiset testit
Salaiset testit ovat julkisessa testauksessa käytettyjen esimerkkien tapaan saatavilla kahdessa muodossa:
- Windows-muotoiset rivinvaihdot. Nämä tiedostot ovat saatavilla yksittäin tai zip-paketissa.
- Linux/Mac-muotoiset rivinvaihdot. Saatavilla yksittäin tai zip-paketissa.
Alla olevassa taulukossa on annettu komennot, joilla ohjelma on käynnistetty salaisissa testissä. Komennosta selviää testissä käytetyn kuvatiedoston nimi.
Testi | Kuva |
secret1 |
java BimEdit image_homer.txt |
secret2 |
java BimEdit image_footprint.txt |