diff --git a/src/fxHarakka/luokat/Projekti.java b/src/fxHarakka/luokat/Projekti.java index 1c595d76e87f6cf467bb7304bd1fd4b99ba0eb21..be5902dd756d4894ef14b1b73ed802d4daf3e11a 100644 --- a/src/fxHarakka/luokat/Projekti.java +++ b/src/fxHarakka/luokat/Projekti.java @@ -18,7 +18,7 @@ public class Projekti { private String aihe; //projektin aihealue private String nimi; //projektin nimi - private final int id; //projekti id --> ensimmäinen projekti alkaa id nro 1 + private int id; //projekti id --> ensimmäinen projekti alkaa id nro 1 private int kesto; private int suoritettu; private static int seuraavaNro = 1; @@ -30,6 +30,12 @@ public class Projekti { this.nimi = ""; this.aihe = ""; } + //minimimuodostaja. kestoa tai suoritettua ei vielä ilmoitettu + public Projekti(String nimi, String aihe) { + this.id = 0; + this.nimi = nimi; + this.aihe = aihe; + } //parametrillinen muodostaja public Projekti(int id, String nimi, String aihe){ @@ -38,30 +44,30 @@ public class Projekti { this.aihe = aihe; } - //-----------------------METODIT - PROJEKTI---------------------------- - /** aliohjelma uuden projektin luomiselle. varaa id numeron itselleen. - * - * @param nimi projektin nimi - * @param aihe projektin aihealue + + //-----------------------Metodit ja Funktiot - PROJEKTI---------------------------- + + + + /** Aliohjelma joka antaa projektille id numeron * - * @return * @example <pre name="test"> - * #import fxHarakka.luokat.*; * - * Projekti testi1 = luoProjekti("kvantti", "fysiikka"); - * testi1.toString() === "kvantti | fysiikka | 1"; + * Projekti projekti1 = new Projekti("Projekti1", "Fysiikka"); + * Projekti projekti2 = new Projekti("Projekti2", "Kemia"); + * projekti1.rekisteroiProjekti(); + * projekti2.rekisteroiProjekti(); + * projekti1.toString() === "Projekti1 | Fysiikka | 1"; + * projekti2.toString() === "Projekti2 | Kemia | 2" + * </pre> + * * - * Projekti testi2 = luoProjekti("Nakki", "Keitto"); - * testi2.toString() === "Nakki | Keitto | 2"; * </pre> */ - public static Projekti luoProjekti(String nimi, String aihe){ //static koska ei tarvita this + public void rekisteroiProjekti(){ int nro = seuraavaNro++; // huom jälkilisäys - Projekti projekti = new Projekti(nro, nimi, aihe); - - - return projekti; + this.id = nro; } diff --git a/src/fxHarakka/luokat/Projektit.java b/src/fxHarakka/luokat/Projektit.java index e6d7cb2e5f7f86cf89f5559218161d1eaea2ad94..5d711a3dca51e60011239667caeb11059c1b479e 100644 --- a/src/fxHarakka/luokat/Projektit.java +++ b/src/fxHarakka/luokat/Projektit.java @@ -20,7 +20,10 @@ public class Projektit { //--> ei tarvitse itse huolehtia kasvatuksesta private String kokoNimi = ""; //projektit nimi private String tied = ""; //tiedostosijainti josta luetaan ja kirjoitetaa - private ArrayList<Projekti> alkiot = new ArrayList<>(); //varaa autom. oikean määrän alkioita + private static ArrayList<Projekti> alkiot = new ArrayList<>(); //varaa autom. oikean määrän alkioita + + //arraylist on nyt staattinen mutta oliot sisällä ei eli pitäis olla ok?? jos tulee ongelmia niin + //pitää mennä Projekti luokkaan ja tehdä lisaaProjekti ei-staattiseksi ja alla lisaaProjekti myös //-----------------------MUODOSTAJAT - PROJEKTIT---------------------------- @@ -71,6 +74,13 @@ public class Projektit { } + /** + * Lisää projektin tietorakenteeseen + * @param projekti lisättävä projekti + */ + public static void lisaaProjekti(Projekti projekti){ + alkiot.add(projekti); // lisää projektin tietorakenteeseen + } } diff --git a/src/fxHarakka/luokat/test/ProjektiTest.java b/src/fxHarakka/luokat/test/ProjektiTest.java index 43f3750205a1b1a5413f7d674c087df87b312eee..089c3f19ec4508f3434eb7712ffe2bf3f40fed10 100644 --- a/src/fxHarakka/luokat/test/ProjektiTest.java +++ b/src/fxHarakka/luokat/test/ProjektiTest.java @@ -1,14 +1,13 @@ package fxHarakka.luokat.test; // Generated by ComTest BEGIN -import fxHarakka.luokat.*; import static org.junit.Assert.*; import org.junit.*; -import static fxHarakka.luokat.Projekti.*; +import fxHarakka.luokat.*; // Generated by ComTest END /** * Test class made by ComTest - * @version 2025.03.19 17:59:29 // Generated by ComTest + * @version 2025.03.20 16:37:44 // Generated by ComTest * */ @SuppressWarnings({ "PMD" }) @@ -17,12 +16,14 @@ public class ProjektiTest { // Generated by ComTest BEGIN - /** testLuoProjekti46 */ + /** testRekisteroiProjekti55 */ @Test - public void testLuoProjekti46() { // Projekti: 46 - Projekti testi1 = luoProjekti("kvantti", "fysiikka"); - assertEquals("From: Projekti line: 50", "kvantti | fysiikka | 1", testi1.toString()); - Projekti testi2 = luoProjekti("Nakki", "Keitto"); - assertEquals("From: Projekti line: 53", "Nakki | Keitto | 2", testi2.toString()); + public void testRekisteroiProjekti55() { // Projekti: 55 + Projekti projekti1 = new Projekti("Projekti1", "Fysiikka"); + Projekti projekti2 = new Projekti("Projekti2", "Kemia"); + projekti1.rekisteroiProjekti(); + projekti2.rekisteroiProjekti(); + assertEquals("From: Projekti line: 61", "Projekti1 | Fysiikka | 1", projekti1.toString()); + assertEquals("From: Projekti line: 62", "Projekti2 | Kemia | 2", projekti2.toString()); } // Generated by ComTest END } \ No newline at end of file