diff --git a/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java b/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java index d6c6946ba95fb4e757a3f3ecc245b3df4a1d9c37..35520c0d8a358d4e8b41ba645b9f404d7bdbf135 100644 --- a/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java +++ b/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java @@ -1,4 +1,6 @@ package fxMMKurssit; +import fi.jyu.mit.fxgui.CheckBoxChooser; +import fi.jyu.mit.fxgui.ListChooser; import fi.jyu.mit.fxgui.ModalControllerInterface; //import javafx.event.ActionEvent; import javafx.fxml.FXML; @@ -9,6 +11,7 @@ import javafx.scene.control.Label; import javafx.scene.control.TextArea; import javafx.scene.control.TextField; import javafx.scene.control.Alert.AlertType; +import mmkurssit.Kurssi; /** * @author aichi @@ -58,11 +61,35 @@ public class LisaaTapaaminenGUIController implements ModalControllerInterface<St //========================================================================== - @FXML void addNewMeeting() { + @FXML private void addNewMeeting() { Alert alert = new Alert(AlertType.INFORMATION); alert.setTitle("Not yet"); alert.setContentText("Not ready yet."); alert.showAndWait(); + //uusiTapaaminen(); + } + + + /** + * Vaihe 5 + */ + private void uusiTapaaminen() { + + //TODO + //edellisellä sivulla: CheckBoxChooser<Kurssi> selectedCourse; ja/tai ListChooser<Kurssi> allCourses; + //voiko käyttää jommasta kummasta valittu kurssi parametriksi? + + /* + * Vesan koodi tähän: + * + * private void uusiHarrastus(){ + * Jasen jasenKohdalla = chooserJasenet.getSelectedObject(); + * if(jasenKohdalla == null) return; + * Harrastus har = new Harrastus(); + * har.rekisteroi(); + * har.tayta(jasenKohdalla.getTunnusNro()); //TODO: possauta oikea dialogi + * mmkurssit.lisaa(har); + */ } diff --git a/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java b/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java index 6940f1a332a4b6d6feff9299e66215b7dbae9e2d..f7050551793e38815165e85aa3bbd5c4f740582f 100644 --- a/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java +++ b/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java @@ -126,7 +126,7 @@ public class MMKurssitGUIController { * Asetetaan käytettävä mmkurssit * @param mmkurssit jota käytetään */ - public void setMMKursset(MMKurssit mmkurssit) { + public void setMMKurssit(MMKurssit mmkurssit) { this.mmkurssit = mmkurssit; } diff --git a/mmkurssit/src/fxMMKurssit/MMKurssitMain.java b/mmkurssit/src/fxMMKurssit/MMKurssitMain.java index 3646d42a708ea7c873d1fd959d9d777001166a61..d3039912115691fe0bffd3f641175824b27a55e5 100644 --- a/mmkurssit/src/fxMMKurssit/MMKurssitMain.java +++ b/mmkurssit/src/fxMMKurssit/MMKurssitMain.java @@ -14,13 +14,16 @@ import javafx.fxml.FXMLLoader; * @version 5.2.2025 * * - * HUOM!! vaiheen loppuessa laita tag, alussa uusi branch! + * HUOM!! vaiheen loppuessa laita tag, alussa uusi branch! + vaiheen lopussa laita tag * * Puuttuu * - tamaapisen tietojen sivun modify-button jälkeen tuleva näkymä, jossa on sekä save- että delete-button. * - sama kurssin tietojen sivun modify-button jälkeen tuleva näkymä * Onko mahdollista, että ne kaksi napit ovat jo paikoillaan mutta ennen käyttäjä painaa "modify" niin ne ovat invisible? * Eli painamalla modify-nappia, kahden nappien näkövyys asetukset ja texstikentän muokkaaminen avaaminen + * + * TODO: + * Testien kirjoittaminen jokaisen kohtaan, junit suiten luominen (ettei tarvitse ajaa kaikki testit erikseen) */ @@ -37,7 +40,7 @@ public class MMKurssitMain extends Application { primaryStage.setTitle("MMKurssit"); MMKurssit mmkurssit = new MMKurssit(); - mmkurssitCtrl.setMMKursset(mmkurssit); + mmkurssitCtrl.setMMKurssit(mmkurssit); primaryStage.show(); } catch(Exception e) { diff --git a/mmkurssit/src/mmkurssit/Kurssit.java b/mmkurssit/src/mmkurssit/Kurssit.java index 949c98d20c2bcc37bdb69a9f6584951b2e0eb5cf..cc30c475228ae737e825502abcacc3a2ecdd0f71 100644 --- a/mmkurssit/src/mmkurssit/Kurssit.java +++ b/mmkurssit/src/mmkurssit/Kurssit.java @@ -24,7 +24,7 @@ public class Kurssit { /** * Lisataan kurssi kurssit-taulukolle - * @param kurssi lisattava uusi kurssi + * @param esim lisattava uusi kurssi * @throws SailoException jos tietorakenne on jo täynnä * @example * <pre name="test"> @@ -49,7 +49,7 @@ public class Kurssit { * kurssit.lisaa(test1); kurssit.getKpl() === 5; * kurssit.lisaa(test1); #THROWS SailoException */ - void lisaa(Kurssi esim) throws SailoException { + public void lisaa(Kurssi esim) throws SailoException { if (kpl >= kurssit.length) throw new SailoException ("Too many courses!"); @@ -62,7 +62,7 @@ public class Kurssit { * Palauttaa rekisteroityjen kurssien kpl * @return kurssien lukuäärä */ - int getKpl() { + public int getKpl() { return this.kpl; } @@ -73,7 +73,7 @@ public class Kurssit { * @return viite kurssiin, jonka index on i * @throws IndexOutOfBoundsException jos i ei ole tietorakenteen sisällä */ - Kurssi anna(int i) { + public Kurssi anna(int i) { if (i<0 || this.kpl <= i) throw new IndexOutOfBoundsException("Not yet index: "+ i); diff --git a/mmkurssit/src/mmkurssit/MMKurssit.java b/mmkurssit/src/mmkurssit/MMKurssit.java index b00a0a8210aa4e4f47a23725c1f8e26fb9df02a5..1244f21f7f5a464aeb681101a92ee6ef3a3484b9 100644 --- a/mmkurssit/src/mmkurssit/MMKurssit.java +++ b/mmkurssit/src/mmkurssit/MMKurssit.java @@ -112,7 +112,6 @@ public class MMKurssit { mmkurssit.lisaa(ohj2_1); mmkurssit.lisaa(j4_2); - List<Tapaaminen> j4_tap = mmkurssit.annaTapaamiset(japani4); for(Tapaaminen tap : j4_tap) { tap.tulosta(System.out); diff --git a/mmkurssit/src/mmkurssit/Tapaamiset.java b/mmkurssit/src/mmkurssit/Tapaamiset.java index 188bc1ff8efbdb414f52715acf3748c8ab84fc98..bb35c6add66e5e5efd12521f1774f0b6a1a179fa 100644 --- a/mmkurssit/src/mmkurssit/Tapaamiset.java +++ b/mmkurssit/src/mmkurssit/Tapaamiset.java @@ -32,14 +32,14 @@ public class Tapaamiset { /** - * @param kurssiID + * @param kurssiID kyseisen kurssin ID * @return Lisa, jossa on tapaamisia, jonka kID on sama kuin parametriksi annettu kurssiID * @example * <pre name="test"> * //TODO: testin kirjoittaminen * </pre> */ - List<Tapaaminen> annaTapaamiset(int kurssiID) { + public List<Tapaaminen> annaTapaamiset(int kurssiID) { List<Tapaaminen> loydetyt = new ArrayList<Tapaaminen>(); for (Tapaaminen tap : alkiot) { diff --git a/mmkurssit/src/mmkurssit/test/KurssitTest.java b/mmkurssit/src/mmkurssit/test/KurssitTest.java new file mode 100644 index 0000000000000000000000000000000000000000..21355f9f8c463057ad163e659fd5a03829ba77c1 --- /dev/null +++ b/mmkurssit/src/mmkurssit/test/KurssitTest.java @@ -0,0 +1,48 @@ +package mmkurssit.test; +// Generated by ComTest BEGIN +import static org.junit.Assert.*; +import org.junit.*; +import mmkurssit.*; +// Generated by ComTest END + +/** + * Test class made by ComTest + * @version 2025.03.10 14:44:08 // Generated by ComTest + * + */ +@SuppressWarnings("all") +public class KurssitTest { + + + + // Generated by ComTest BEGIN + /** + * testLisaa30 + * @throws SailoException when error + */ + @Test + public void testLisaa30() throws SailoException { // Kurssit: 30 + Kurssit kurssit = new Kurssit(); + Kurssi test1 = new Kurssi(); + Kurssi test2 = new Kurssi(); + assertEquals("From: Kurssit line: 36", 0, kurssit.getKpl()); + kurssit.lisaa(test1); assertEquals("From: Kurssit line: 37", 1, kurssit.getKpl()); + kurssit.lisaa(test2); assertEquals("From: Kurssit line: 38", 2, kurssit.getKpl()); + kurssit.lisaa(test1); assertEquals("From: Kurssit line: 39", 3, kurssit.getKpl()); + assertEquals("From: Kurssit line: 40", test1, kurssit.anna(0)); + assertEquals("From: Kurssit line: 41", test2, kurssit.anna(1)); + assertEquals("From: Kurssit line: 42", test1, kurssit.anna(2)); + assertEquals("From: Kurssit line: 44", false, kurssit.anna(0) == test2); + assertEquals("From: Kurssit line: 45", true, kurssit.anna(0) == test1); + try { + assertEquals("From: Kurssit line: 46", test1, kurssit.anna(3)); + fail("Kurssit: 46 Did not throw IndexOutOfBoundsException"); + } catch(IndexOutOfBoundsException _e_){ _e_.getMessage(); } + kurssit.lisaa(test1); assertEquals("From: Kurssit line: 48", 4, kurssit.getKpl()); + kurssit.lisaa(test1); assertEquals("From: Kurssit line: 49", 5, kurssit.getKpl()); + try { + kurssit.lisaa(test1); + fail("Kurssit: 50 Did not throw SailoException"); + } catch(SailoException _e_){ _e_.getMessage(); } + } // Generated by ComTest END +} \ No newline at end of file diff --git a/mmkurssit/src/mmkurssit/test/MMKurssitTest.java b/mmkurssit/src/mmkurssit/test/MMKurssitTest.java new file mode 100644 index 0000000000000000000000000000000000000000..73f642afeef696d3ee3c911e30493d15784386fa --- /dev/null +++ b/mmkurssit/src/mmkurssit/test/MMKurssitTest.java @@ -0,0 +1,15 @@ +package mmkurssit.test; +// Generated by ComTest BEGIN +import static org.junit.Assert.*; +import org.junit.*; +import mmkurssit.*; +// Generated by ComTest END + +/** + * Test class made by ComTest + * @version 2025.03.10 14:45:39 // Generated by ComTest + * + */ +@SuppressWarnings("all") +public class MMKurssitTest { +} \ No newline at end of file diff --git a/mmkurssit/src/mmkurssit/test/TapaamisetTest.java b/mmkurssit/src/mmkurssit/test/TapaamisetTest.java new file mode 100644 index 0000000000000000000000000000000000000000..7e32dbfaaf86a8b2705979e359b60fdb1d5a9488 --- /dev/null +++ b/mmkurssit/src/mmkurssit/test/TapaamisetTest.java @@ -0,0 +1,15 @@ +package mmkurssit.test; +// Generated by ComTest BEGIN +import static org.junit.Assert.*; +import org.junit.*; +import mmkurssit.*; +// Generated by ComTest END + +/** + * Test class made by ComTest + * @version 2025.03.10 14:45:17 // Generated by ComTest + * + */ +@SuppressWarnings("all") +public class TapaamisetTest { +} \ No newline at end of file