Test lisaaMetodi väittää, että testiesimerkki palauttaa true, vaikka pitäisi olla false. Kun kokeilen, tulee false, niinkuin pitäisi. Onko varmasti ok?
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Milestone: Typo or translation error --> UserError
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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ää.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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.
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
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...
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...
Uusi paste linkki helpottaisi auttamista :)
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.
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
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.
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.
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
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ää.