{"id":449,"date":"2020-10-26T11:30:35","date_gmt":"2020-10-26T09:30:35","guid":{"rendered":"https:\/\/coursepages.uta.fi\/tiep5-1\/?page_id=449"},"modified":"2020-10-26T11:33:37","modified_gmt":"2020-10-26T09:33:37","slug":"automaattinen","status":"publish","type":"page","link":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/syksy-2020\/harjoitukset\/ratkaisujen-tarkistus\/automaattinen\/","title":{"rendered":"Automaattinen"},"content":{"rendered":"\n<p>Automaattinen tarkistus tehd\u00e4\u00e4n pitk\u00e4lti Lausekielinen ohjelmointi I -kurssin <a href=\"https:\/\/coursepages2.tuni.fi\/tiep1-1\/syksy-2019\/harjoitukset\/ratkaisujen-tarkistus\/automaattinen\/\">tapaan<\/a> testeill\u00e4, joissa verrataan malliratkaisun ja opiskelijan ratkaisun tulosteita, tutkitaan ohjelman rakennetta tai kutsutaan metodeja automaattisesti.<\/p>\n\n\n\n<p>Suurin ero edelliseen kurssin verrattuna on m\u00e4\u00e4reiden tarkistus. WETO vaatii, ett\u00e4 metodien otsikoissa ja attribuuttien esittelyiss\u00e4 k\u00e4ytet\u00e4\u00e4n m\u00e4\u00e4reit\u00e4 juuri teht\u00e4v\u00e4nannossa m\u00e4\u00e4ritellyll\u00e4 tavalla. WETO tarkistaa parametrien lukum\u00e4\u00e4r\u00e4n lis\u00e4ksi parametrien tyypit. Esimerkiksi ylim\u00e4\u00e4r\u00e4isen oman parametrin m\u00e4\u00e4rittely metodiin on virhe samoin kuin vaikkapa teht\u00e4v\u00e4nannossa pyydetyn char-tyyppisen parametrin korvaaminen int-tyyppisell\u00e4 parametrilla.<\/p>\n\n\n\n<p>Metodeissa ja attribuuteissa on oltava <strong>aina public-n\u00e4kyvyysm\u00e4\u00e4re<\/strong> sek\u00e4 static-m\u00e4\u00e4re.<\/p>\n\n\n\n<p>WETO tarkistaa ettei palautettavassa ohjelmassa ole k\u00e4ytetty package-m\u00e4\u00e4rett\u00e4, koska WETOn automaattitarkistaja ei toistaiseksi ymm\u00e4rr\u00e4 pakkaukseen liitettyj\u00e4 tiedostoja.<\/p>\n\n\n\n<p>Automaattisen tarkistajan tulosteissa saattaa olla pieni\u00e4 eroja Lausekielinen ohjelmointi I -kurssiin verrattuna, koska testaus tehd\u00e4\u00e4n osittain eri ohjelmistolla.<\/p>\n\n\n\n<p>Kunkin teht\u00e4v\u00e4n testit kuvaillaan tarkemmin palautuskohdan <em>Main<\/em>-v\u00e4lilehdell\u00e4 WETOssa.<\/p>\n\n\n\n<p>WETO tulostaa rakennetestin ep\u00e4onnistuessa lyhyen virheilmoituksen. WETO voisi tulostaa esimerkiksi<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ERROR: Method \"public static void moikkaa(String)\" in HelloYou was not found.\n<\/pre>\n\n\n\n<p>jos <em>HelloYou<\/em>-nimisest\u00e4 ohjelmasta ei l\u00f6ydy teht\u00e4v\u00e4nannossa pyydetty\u00e4 void-tyyppist\u00e4 <em>moikkaa<\/em>-metodia, jolla on yksi String-tyyppinen parametri. Vertaa metodisi otsikkoa osa osalta WETOn tulosteeseen, jos et n\u00e4e heti miksi WETO ei tunnistanut metodiasi.<\/p>\n\n\n\n<p>WETO sallii julkiset luokkavakiot eli attribuutit, jotka on esitelty public-, static- ja final-m\u00e4\u00e4reill\u00e4 ellei my\u00f6s luokkavakioita ole erikseen kielletty teht\u00e4v\u00e4ss\u00e4. Tarkista erityisesti, ett\u00e4 olet muistanut final-m\u00e4\u00e4reen, jos WETO valittaa attribuutista. Alla on annettu WETOn virheilmoitus, josta k\u00e4y ilmi, ett\u00e4 attribuutissa on jotain vikaa. Vika pit\u00e4\u00e4 p\u00e4\u00e4tell\u00e4 omatoimisesti attribuutin esittely\u00e4 tutkimalla. T\u00e4ss\u00e4 tapauksessa huomataan juuri final-m\u00e4\u00e4reen unohtuneen.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ERROR: \"public static Scanner LUKIJA\" in HelloYou is not a public class constant!<\/pre>\n\n\n\n<p>Ota yhteytt\u00e4 harjoitusryhm\u00e4n vet\u00e4j\u00e4\u00e4n tai kurssin vastuuopettajaan, jos en keksi j\u00e4rjellisess\u00e4 ajassa miksi WETO ei hyv\u00e4ksy ohjelmaasi.<\/p>\n\n\n\n<p>Huomaa, ett\u00e4 ohjelmasi ei ole varmasti oikeellinen, vaikka testaus onnistuu, koska testit kattavat vain osan ohjelman toiminnallisuudesta ja rakenteesta.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automaattinen tarkistus tehd\u00e4\u00e4n pitk\u00e4lti Lausekielinen ohjelmointi I -kurssin tapaan testeill\u00e4, joissa verrataan malliratkaisun ja opiskelijan ratkaisun tulosteita, tutkitaan ohjelman rakennetta tai kutsutaan metodeja automaattisesti. Suurin ero edelliseen kurssin verrattuna on m\u00e4\u00e4reiden tarkistus. WETO vaatii, ett\u00e4 metodien otsikoissa ja attribuuttien esittelyiss\u00e4 k\u00e4ytet\u00e4\u00e4n m\u00e4\u00e4reit\u00e4 juuri teht\u00e4v\u00e4nannossa m\u00e4\u00e4ritellyll\u00e4 tavalla. WETO tarkistaa parametrien lukum\u00e4\u00e4r\u00e4n lis\u00e4ksi parametrien tyypit. Esimerkiksi ylim\u00e4\u00e4r\u00e4isen &hellip; <a href=\"https:\/\/coursepages2.tuni.fi\/tiep5-1\/syksy-2020\/harjoitukset\/ratkaisujen-tarkistus\/automaattinen\/\" class=\"more-link\">Jatka artikkeliin <span class=\"screen-reader-text\">Automaattinen<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"parent":443,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-449","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/pages\/449","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/comments?post=449"}],"version-history":[{"count":2,"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/pages\/449\/revisions"}],"predecessor-version":[{"id":452,"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/pages\/449\/revisions\/452"}],"up":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/pages\/443"}],"wp:attachment":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5-1\/wp-json\/wp\/v2\/media?parent=449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}