From 319effd6b973c863e084977ae62cc1ff4c762b5b Mon Sep 17 00:00:00 2001 From: tornhale <hannes.lt.tornberg@student.jyu.fi> Date: Mon, 24 Mar 2025 11:22:32 +0200 Subject: [PATCH] =?UTF-8?q?Kirjat-luokan=20taulukko=20kasvattaa=20kokoaan,?= =?UTF-8?q?=20jos=20t=C3=A4yttyy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Kirjalista/Kirjat.java | 37 +++++++++++++---------------- src/Kirjalista/test/KirjatTest.java | 34 +++++++++----------------- 2 files changed, 28 insertions(+), 43 deletions(-) diff --git a/src/Kirjalista/Kirjat.java b/src/Kirjalista/Kirjat.java index bb288ca..3f3e7cf 100644 --- a/src/Kirjalista/Kirjat.java +++ b/src/Kirjalista/Kirjat.java @@ -21,13 +21,10 @@ import java.util.NoSuchElementException; * k3.parse("Hobitti3 |J.R.R. Tolkien||336"); * * - * try { - * kirjat.lisaa(k1); - * kirjat.lisaa(k2); - * kirjat.lisaa(k3); - * } catch (SailoException e) { - * e.printStackTrace(); - * } + * + * kirjat.lisaa(k1); + * kirjat.lisaa(k2); + * kirjat.lisaa(k3); * * * kirjat.hae(k1.getId()).getNimi() === "Hobitti1"; @@ -50,26 +47,26 @@ public class Kirjat { /** * @param kirja Lisättävä kirja - * @throws SailoException Heittää, jos lisääminen ei onnistu * <pre name="test"> * Kirja kirja = new Kirja(); * Kirjat kirjat = new Kirjat(); - * try { - * for (int i = 0; i < 8; i++) { - * kirjat.lisaa(kirja); - * kirjat.getLkm() === i + 1; - * } - * kirjat.getLkm() === 8; - * } catch (SailoException e) { - * System.out.println("Comtest heittaa virheita, jos ei ole trycatchia"); - * } - * kirjat.lisaa(kirja); #THROWS SailoException + * for (int i = 0; i < 8; i++) { + * kirjat.lisaa(kirja); + * kirjat.getLkm() === i + 1; + * } + * kirjat.getLkm() === 8; * * * </pre> */ - public void lisaa(Kirja kirja) throws SailoException { - if (this.lkm >= this.alkiot.length) throw new SailoException("Liikaa alkioita"); + public void lisaa(Kirja kirja) { + if (this.lkm >= this.alkiot.length) { + Kirja[] uusi = new Kirja[this.lkm * 2]; + for (int i = 0; i < this.lkm; i++) { + uusi[i] = this.alkiot[i]; + } + this.alkiot = uusi; + } this.alkiot[this.lkm] = kirja; kirja.rekisteroi(); this.lkm++; diff --git a/src/Kirjalista/test/KirjatTest.java b/src/Kirjalista/test/KirjatTest.java index 83cb937..c54efab 100644 --- a/src/Kirjalista/test/KirjatTest.java +++ b/src/Kirjalista/test/KirjatTest.java @@ -8,7 +8,7 @@ import Kirjalista.*; /** * Test class made by ComTest - * @version 2025.03.17 16:07:43 // Generated by ComTest + * @version 2025.03.24 10:29:11 // Generated by ComTest * */ @SuppressWarnings({ "all" }) @@ -27,54 +27,42 @@ public class KirjatTest { k1.parse("Hobitti1 |J.R.R. Tolkien||336"); k2.parse("Hobitti2 |J.R.R. Tolkien||336"); k3.parse("Hobitti3 |J.R.R. Tolkien||336"); - try { kirjat.lisaa(k1); kirjat.lisaa(k2); kirjat.lisaa(k3); - } catch (SailoException e) { - e.printStackTrace(); - } - assertEquals("From: Kirjat line: 33", "Hobitti1", kirjat.hae(k1.getId()).getNimi()); - assertEquals("From: Kirjat line: 34", "Hobitti3", kirjat.hae(k3.getId()).getNimi()); + assertEquals("From: Kirjat line: 30", "Hobitti1", kirjat.hae(k1.getId()).getNimi()); + assertEquals("From: Kirjat line: 31", "Hobitti3", kirjat.hae(k3.getId()).getNimi()); try { kirjat.hae(0); - fail("Kirjat: 35 Did not throw NoSuchElementException"); + fail("Kirjat: 32 Did not throw NoSuchElementException"); } catch(NoSuchElementException _e_){ _e_.getMessage(); } try { kirjat.hae(5); - fail("Kirjat: 36 Did not throw NoSuchElementException"); + fail("Kirjat: 33 Did not throw NoSuchElementException"); } catch(NoSuchElementException _e_){ _e_.getMessage(); } int k2Id = k2.getId(); kirjat.poista(k2Id); try { kirjat.poista(0); - fail("Kirjat: 40 Did not throw NoSuchElementException"); + fail("Kirjat: 37 Did not throw NoSuchElementException"); } catch(NoSuchElementException _e_){ _e_.getMessage(); } try { kirjat.hae(k2Id); - fail("Kirjat: 41 Did not throw NoSuchElementException"); + fail("Kirjat: 38 Did not throw NoSuchElementException"); } catch(NoSuchElementException _e_){ _e_.getMessage(); } } // Generated by ComTest END // Generated by ComTest BEGIN - /** testLisaa54 */ + /** testLisaa50 */ @Test - public void testLisaa54() { // Kirjat: 54 + public void testLisaa50() { // Kirjat: 50 Kirja kirja = new Kirja(); Kirjat kirjat = new Kirjat(); - try { for (int i = 0; i < 8; i++) { kirjat.lisaa(kirja); - assertEquals("From: Kirjat line: 60", i + 1, kirjat.getLkm()); + assertEquals("From: Kirjat line: 55", i + 1, kirjat.getLkm()); } - assertEquals("From: Kirjat line: 62", 8, kirjat.getLkm()); - } catch (SailoException e) { - System.out.println("Comtest heittaa virheita, jos ei ole trycatchia"); - } - try { - kirjat.lisaa(kirja); - fail("Kirjat: 66 Did not throw SailoException"); - } catch(SailoException _e_){ _e_.getMessage(); } + assertEquals("From: Kirjat line: 57", 8, kirjat.getLkm()); } // Generated by ComTest END } \ No newline at end of file -- GitLab