Skip to content
Snippets Groups Projects
Commit 63fcc49c authored by Iina Siekkinen's avatar Iina Siekkinen
Browse files

Alku- ja loppuehdot

parent ce97d4a4
No related branches found
No related tags found
No related merge requests found
Pipeline #76631 passed
......@@ -47,8 +47,9 @@ public class Opiskelija {
* Loppuehto:
* - Luokkainvariantti säilyy: etunimi on asetettu.
*/
public void setEtunimi(String etunimi) throws IllegalArgumentException{
if (etunimi == null || etunimi.isEmpty()) throw new IllegalArgumentException("Etunimi ei voi olla tyhjä.");
public void setEtunimi(String etunimi) {
if (etunimi == null || etunimi.isEmpty())
throw new IllegalArgumentException("Etunimi ei voi olla tyhjä.");
this.etunimi = etunimi;
}
......@@ -57,8 +58,9 @@ public class Opiskelija {
* Loppuehto:
* - Luokkainvariantti säilyy: sukunimi on asetettu.
*/
public void setSukunimi(String sukunimi) throws IllegalArgumentException{
if (sukunimi == null || sukunimi.isEmpty()) throw new IllegalArgumentException("Sukunimi ei voi olla tyhjä.");
public void setSukunimi(String sukunimi) {
if (sukunimi == null || sukunimi.isEmpty())
throw new IllegalArgumentException("Sukunimi ei voi olla tyhjä.");
this.sukunimi = sukunimi;
}
......@@ -68,7 +70,8 @@ public class Opiskelija {
* - Luokkainvariantti säilyy: opiskelijan numero on asetettu.
*/
public void setOpiskelijaNumero(String opiskelijaNumero) {
if (opiskelijaNumero == null || opiskelijaNumero.isEmpty()) throw new IllegalArgumentException("Opiskelijanumero ei voi olla tyhjä.");
if (opiskelijaNumero == null || opiskelijaNumero.isEmpty())
throw new IllegalArgumentException("Opiskelijanumero ei voi olla tyhjää.");
this.opiskelijaNumero = opiskelijaNumero;
}
......@@ -78,7 +81,8 @@ public class Opiskelija {
* - Luokkainvariantti säilyy: syntymävuosi on asetettu.
*/
public void setSyntymavuosi(int syntymavuosi) {
if (syntymavuosi <= 0) throw new IllegalArgumentException("Syntymävuosi ei voi olla negatiivinen.");
if (syntymavuosi <= 0)
throw new IllegalArgumentException("Syntymävuosi ei voi olla negatiivinen.");
this.syntymavuosi = syntymavuosi;
}
}
......@@ -15,13 +15,21 @@ public class VuosiKurssi {
private String opintoOhjaajanNimi;
private ArrayList<Opiskelija> opiskelijat;
// Konstruktori, joka varmistaa, että alkuperäiset ehdot täyttyvät
public VuosiKurssi(int kurssinAloitusvuosi, String opintoOhjaajanNimi) {
setKurssinAloitusvuosi(kurssinAloitusvuosi);
setOpintoOhjaajanNimi(opintoOhjaajanNimi);
this.opiskelijat = new ArrayList<>(); // Alustetaan opiskelijalista
}
/* Alkuehto:
* - Kurssin aloitusvuosi on validi (ei tulevaisuudessa).
* Loppuehto:
* - Kurssin aloitusvuosi on asetettu.
*/
public void setKurssinAloitusvuosi(int kurssinAloitusvuosi) {
if (kurssinAloitusvuosi > java.time.Year.now().getValue()) throw new IllegalArgumentException("Aloitusvuosi ei voi olla tulevaisuudessa.");
if (kurssinAloitusvuosi > java.time.Year.now().getValue())
throw new IllegalArgumentException("Aloitusvuosi ei voi olla tulevaisuudessa.");
this.kurssinAloitusvuosi = kurssinAloitusvuosi;
}
......@@ -31,7 +39,8 @@ public class VuosiKurssi {
* - Opiskelija lisätty opiskelijalistaan.
*/
public void lisaaOpiskelija(Opiskelija opiskelija) {
if (opiskelija == null) throw new IllegalArgumentException("Opiskelija ei voi olla null.");
if (opiskelija == null)
throw new IllegalArgumentException("Opiskelija ei voi olla null.");
this.opiskelijat.add(opiskelija);
}
......@@ -48,6 +57,17 @@ public class VuosiKurssi {
}
}
/* Alkuehto:
* - Opinto-ohjaajan nimi ei saa olla tyhjää tai null.
* Loppuehto:
* - Opinto-ohjaajan nimi on asetettu.
*/
public void setOpintoOhjaajanNimi(String opintoOhjaajanNimi) {
if (opintoOhjaajanNimi == null || opintoOhjaajanNimi.isEmpty())
throw new IllegalArgumentException("Opinto-ohjaajan nimi ei voi olla tyhjää.");
this.opintoOhjaajanNimi = opintoOhjaajanNimi;
}
/*GETTERIT*/
public ArrayList<Opiskelija> getOpiskelijat() {
return opiskelijat;
......@@ -55,4 +75,7 @@ public class VuosiKurssi {
public int getKurssinAloitusvuosi() {
return kurssinAloitusvuosi;
}
public String getOpintoOhjaajanNimi() {
return opintoOhjaajanNimi;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment