Menu

#752 Autorekisterikeskus 134

UserError
closed
nobody
None
2015-04-11
2015-04-06
Anonymous
No

Test lisaaMetodi väittää, että testiesimerkki palauttaa true, vaikka pitäisi olla false. Kun kokeilen, tulee false, niinkuin pitäisi. Onko varmasti ok?

Discussion

  • Joni

    Joni - 2015-04-07

    Tämä tiketti kaipaa hieman lisäselvennystä. Koodiesimerkki ei myöskään olisi pahitteeksi. Koodia voi jakaa NetBeansista suoraan valitsemalla TMC-valikosta Send code to TMC Pastebin ja kopioimalla saatu linkki tänne.

     
  • Anonymous

    Anonymous - 2015-04-07

    https://tmc.mooc.fi/mooc/paste/yV0KoTUBxOCUI5cmnH95iQ
    Tästä pitäisai löytyä. Pitäisi olla varsinaisnen versio, vaikka koetin tehdä jotain muokkauksiakin. Voi olla syynä, että tarkistan, onko rekisterinumero jo hakemistossa "huonolla" tavalla. Kuitenkin ohjelma palauttaa if-lauseista oikeissa kohdista (koetulostuksia). Toivon mukaan tulee kunnolla, tuo linkki siis.

     
  • Joni

    Joni - 2015-04-08

    Hei,

    Tehtävänanto: public boolean lisaa(Rekisterinumero rekkari, String omistaja) lisää parametrina olevaa rekisterinumeroa vastaavalle autolle parametrina olevan omistajan, metodi palauttaa true jos omistajaa ei ollut ennestään, jos rekisterinumeroa vastaavalla autolla oli jo omistaja, metodi palauttaa false ja ei tee mitään.

    Toisin sanoen jos rekisterinumero löytyy HashMapista palauta false. Tässä ei tarvitse välittää rekisterinumeron omistajasta.

    Lisäksi public String hae(Rekisterinumero rekkari) metodi näyttäisi toimivan väärin. Pelkkä return this.omistajat.get(rekkari); rittäisi kyseiseen metodiin.

    -Joni

     

    Last edit: Joni 2015-04-08
    • Anonymous

      Anonymous - 2015-04-08

      Siis, en tiedä, hävisikö edellinen yhteydenoton yritykseni bittien taivaaseen. Korjasin nyt tuota mainitsemaasi hae-metodia. Toistan: miksi testiohjelma sanoo, että ohjelmani palauttaisi true, vaikka pitäisi palauttaa false, kun se ajaessa palauttaa false, niinkuin pitäisi. Valitan jankutusta...

       
  • Joni

    Joni - 2015-04-08
    • status: open --> closed
    • Milestone: Typo or translation error --> UserError
     
  • Anonymous

    Anonymous - 2015-04-08

    Hei ja kiitos vastauksesta. Korjasin sen rekisterinumeron haun ja se paransi testejä (en tosin niitä kaikkia katsonut tarkempaan, kun jäi tähän). Se ei kuitenkaan vastannut mitenkään siihen, mitä koetin kysyä. Olen koettanut hakea numeroa ja jos se on jo olemassa, antaa ohjelma false. Se myös palauttaa false, vaikka testi väittää, että se antaa true. Siis, miksi testi väittää, että tulee true, vaikka tulee oikeasti false, niinkuin pitäisi. Ikävä jankuttaa...

     
  • Jarmo

    Jarmo - 2015-04-08

    Uusi paste linkki helpottaisi auttamista :)

     
  • Jarmo

    Jarmo - 2015-04-08
    • status: closed --> open
     
    • Anonymous

      Anonymous - 2015-04-08

      Näitä tulee kummasti näkyviin, nyt näkyi myös Joni vastanneen jotain.
      https://tmc.mooc.fi/mooc/paste/jJfjpIbksLZtKfIMeKG_kw onko nyt sama linkki kuin ennen. Siis: Vaihdoin ekan Arton Artoo, jotta eri nimi, sitten yritin Pekalle Arton rekkaria ja sain false eikä lisännyt, kun vaihdan rekkaria hiukan ja koetan Pekkaa uudelleen, tulee true kuten pitäisi. Testiohjelma väitttää kuitenkin, että ohjelma antaisi true, kun pitäisi tulla false, joka oikeasti tulee. Tämä nyt tuntuu kummalta, olen koettanut moneen kertaan pähkäillä. Tähän asti testien toimimattomat esimerkit ovat käyttäytyneet testien väittämällä tavalla.

       
  • Joni

    Joni - 2015-04-08
    • status: open --> accepted
     
  • Joni

    Joni - 2015-04-08

    Hei,

    Testien virheilmoitus näyttäisi olevan virheellinen. Oikeasti ohjelma testaa rekisterinumeron lisäystä kahdesti nimellä Arto, eikä kertaakaan nimellä Pekka.

    Tosin kuten aiemmassa viestissäni mainitsin ei lisaa-metodin tulisi ottaa huomioon omistajaa vaan palauttaa suoraan false mikäli rekisterinumero on jo tallessa.

    -Joni

     

    Last edit: Joni 2015-04-08
    • Anonymous

      Anonymous - 2015-04-09

      En tiedä, osuvatko vasstaukseni sinne minne pitäsisi. Siis: testiohjelma väittää ohjelmani palauttavan true, vaikka pitäisi olla false. Ohjelma kuitenkin palauttaa false, niinkuin pitäisi.

       
  • Anonymous

    Anonymous - 2015-04-08

    Hei, nyt jostain tuli vastauksia näkyviin. Nimellä ei ole merkitystä, olen itse laittanut ensimmäisen Arton pääohjelmassa muotoon Artoo. Olen laittanut sinne myös kokeeksi Pekan uuudelleen hiukan muuttamalla reksiterinumeroa (ensin Pekalla on Arton rekkari ja vastaukseksi tulee kuten pitää false), jolloin se kiltisti sanoo true ja lisää Pekan ja uuden rekkarin.

     
  • Joni

    Joni - 2015-04-09

    Hei,

    Korjasin testien virheilmoituksen:

    Jo rekisterissä olevan lisäyksen pitäisi palauttaa false
    Ajoneuvorekisteri ar = new Ajoneuvorekisteri();
    ar.lisaa( new Rekisterinumero("FI", "AAA-111"), "Arto");
    ar.lisaa( new Rekisterinumero("FI", "AAA-111"), "Arto");

    Kokeilin suorittaa koodisi yllä mainitulla syötteellä ja sain tuloksesksi "true" vaikka kuuluisi olla false.

    -Joni

     
  • Anonymous

    Anonymous - 2015-04-09

    Selvä, taisi selvitä ja ajoi jo loogisesti. Ehkä se testin teksti ohjasi harhaan, noita tehtäviä on joskus hankala lukea (mitä oikeastaan halutaan). Ainakin pääsin tulostusten testauskeen nyt, joten pikkuhiljaa selviää.

     
  • Joni

    Joni - 2015-04-11
    • status: accepted --> closed
     
MongoDB Logo MongoDB