From 39b0cf3e9e5bb4152c8515f2aaa69a555755b13d Mon Sep 17 00:00:00 2001 From: aichinos <aichinos@jyu.fi> Date: Mon, 10 Mar 2025 15:14:03 +0200 Subject: [PATCH] =?UTF-8?q?tarvitsen=20v=C3=A4litt=C3=A4=C3=A4=20tietoja?= =?UTF-8?q?=20sivujen=20v=C3=A4liin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LisaaTapaaminenGUIController.java | 29 ++++++++++- .../fxMMKurssit/MMKurssitGUIController.java | 2 +- mmkurssit/src/fxMMKurssit/MMKurssitMain.java | 7 ++- mmkurssit/src/mmkurssit/Kurssit.java | 8 ++-- mmkurssit/src/mmkurssit/MMKurssit.java | 1 - mmkurssit/src/mmkurssit/Tapaamiset.java | 4 +- mmkurssit/src/mmkurssit/test/KurssitTest.java | 48 +++++++++++++++++++ .../src/mmkurssit/test/MMKurssitTest.java | 15 ++++++ .../src/mmkurssit/test/TapaamisetTest.java | 15 ++++++ 9 files changed, 118 insertions(+), 11 deletions(-) create mode 100644 mmkurssit/src/mmkurssit/test/KurssitTest.java create mode 100644 mmkurssit/src/mmkurssit/test/MMKurssitTest.java create mode 100644 mmkurssit/src/mmkurssit/test/TapaamisetTest.java diff --git a/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java b/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java index d6c6946..35520c0 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 6940f1a..f705055 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 3646d42..d303991 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 949c98d..cc30c47 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 b00a0a8..1244f21 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 188bc1f..bb35c6a 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 0000000..21355f9 --- /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 0000000..73f642a --- /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 0000000..7e32dbf --- /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 -- GitLab