diff --git a/Kirjalista.jar b/Kirjalista.jar
index efec7402fef9b585d65eceb0e90b8d3e390fa6cd..97a7c33d1b7f8e0529149fc9b361a77dbc5c610a 100644
Binary files a/Kirjalista.jar and b/Kirjalista.jar differ
diff --git a/src/Kirjalista/Genre.java b/src/Kirjalista/Genre.java
index 6aaa9ab1f12d9b014875d7781c5bd94cb73aaa7b..998072d7b41386ff0e111d79db6a93c0c9b1997d 100644
--- a/src/Kirjalista/Genre.java
+++ b/src/Kirjalista/Genre.java
@@ -71,8 +71,20 @@ public class Genre {
         this.nimi = esim[rand.nextInt(3)];
     }
     
+    /**
+     * Luo olion testejä varten
+     * @return Genre satunnaisilla arvoilla
+     */
+    public static Genre testiGenre() {
+        Genre g = new Genre();
+        Random rand = new Random();
+        g.nimi = g.esim[rand.nextInt(3)];
+        g.rekisteroi();
+        return g;
+    }
     
     /**
+     * Palauttaa genren nimen
      * @return Genren nimi
      */
     public String getNimi() {
@@ -80,7 +92,7 @@ public class Genre {
     }
     
     /**
-     * palauttaa genren id:n
+     * Palauttaa genren id:n
      * @return Genren id
      */
     public int getId() {
diff --git a/src/Kirjalista/GenreRelaatio.java b/src/Kirjalista/GenreRelaatio.java
index 8a2ef37adaf92669f47b0299c165be829bf98077..7ef0c1da3c46880fb253fddc4f0ed78495a91098 100644
--- a/src/Kirjalista/GenreRelaatio.java
+++ b/src/Kirjalista/GenreRelaatio.java
@@ -28,17 +28,32 @@ public class GenreRelaatio {
      * esim. palauttaa kaikkien kirjojen id:t, joiden genre on fantasia
      * @param genreId Genren id, jonka perusteella haetaan kirjojen id:itä
      * @return Kaikkien niiden kirjojen id:t, joiden genren id on genreId 
-     * TODO testit
      * <pre name="test">
+     * #import java.util.ArrayList;
      * GenreRelaatio gr = new GenreRelaatio();
-	 * gr.lisaa(new KirjanGenre(1, 2));
-	 * int[] t = gr.haeKirjat(2);  
-	 * t[0] === 1;
-	 * TODO lisää testejä
+     * Kirja k = Kirja.testiKirja();
+     * Kirja k1 = Kirja.testiKirja();
+     * Kirja k2 = Kirja.testiKirja();
+     * Genre g = Genre.testiGenre();
+     * Genre g2 = Genre.testiGenre(); 
+     * 
+	 * gr.lisaa(new KirjanGenre(k, g));
+	 * gr.lisaa(new KirjanGenre(k1, g));
+	 * gr.lisaa(new KirjanGenre(k2, g));
+	 * gr.lisaa(new KirjanGenre(k, g2));
+	 * ArrayList<Integer> al = gr.haeKirjat(g.getId());
+	 * int i = al.get(0);
+	 * int i1 = al.get(1);
+	 * int i2 = al.get(2);
+	 * i === k.getId();	  
+	 * i1 === k1.getId();	 
+	 * i2 === k2.getId();
+	 * al.size() === 3;
+	 
 	 * </pre>
      */
     public ArrayList<Integer> haeKirjat(int genreId) {
-        //if (alkiot.length() <= 0) throw new IndexOutOfBoundsException();        
+        
         ArrayList<Integer> kirjojenIdt = new ArrayList<Integer>();
         
         alkiot.iter = alkiot.getEka();
@@ -46,7 +61,7 @@ public class GenreRelaatio {
         for (int i = 0; i < alkiot.length(); i++) {
             KirjanGenre alkio = alkiot.iter.getSisalto();
             if (alkio.getGenreId() == genreId) {
-                kirjojenIdt.add(alkio.getGenreId());
+                kirjojenIdt.add(alkio.getKirjaId());
             }
             alkiot.iter = alkiot.iter.getNext();
         }
@@ -60,10 +75,31 @@ public class GenreRelaatio {
      * eli toisin sanoen palauttaa tietyn kirjan kaikkien genrejen id:t
      * @param kirjaId Kirjan id, jonka perusteella haetaan genrejen id:itä
      * @return Kaikkien niiden genrejen id:t, joiden kirjan id on kirjaId 
-     * TODO testit
+     * <pre name="test">
+     * GenreRelaatio gr = new GenreRelaatio();
+     * Kirja k = Kirja.testiKirja();
+     * Kirja k2 = Kirja.testiKirja();
+     * Genre g = Genre.testiGenre();
+     * Genre g1 = Genre.testiGenre();
+     * Genre g2 = Genre.testiGenre(); 
+     * 
+     * gr.lisaa(new KirjanGenre(k, g2));
+     * gr.lisaa(new KirjanGenre(k, g));
+     * gr.lisaa(new KirjanGenre(k, g1));
+     * gr.lisaa(new KirjanGenre(k2, g));
+     * ArrayList<Integer> al = gr.haeGenret(k.getId());
+     * int i = al.get(0);
+     * int i1 = al.get(1);
+     * int i2 = al.get(2);
+     * i === g2.getId();   
+     * i1 === g.getId();     
+     * i2 === g1.getId();
+     * 
+     * al.size() === 3; 
+     * </pre>
      */
     public ArrayList<Integer> haeGenret(int kirjaId) {
-        //if (alkiot.length() <= 0) throw new IndexOutOfBoundsException(); ??? tämä ei mahdollista
+
         ArrayList<Integer> genrejenIdt = new ArrayList<Integer>();
         
         alkiot.iter = alkiot.getEka();
diff --git a/src/Kirjalista/Genret.java b/src/Kirjalista/Genret.java
index c852475ed788d56f380795b3005d6512b14d14d7..5ffdcd4a749fe7fbc4a0a7dae1fb1f7eff4699d1 100644
--- a/src/Kirjalista/Genret.java
+++ b/src/Kirjalista/Genret.java
@@ -9,6 +9,34 @@ import java.util.NoSuchElementException;
  * - Lisää ja poistaa kirjoja
  * - Lukee ja kirjoittaa tiedostoon
  * - Etsii ja lajittelee
+ * <pre name="test">
+ * #import java.util.NoSuchElementException;
+ * Genret g = new Genret();
+ * Genre g1 = Genre.testiGenre();
+ * Genre g2 = Genre.testiGenre();
+ * Genre g3 = Genre.testiGenre();
+ * 
+ * g.lisaa(g1);
+ * g.lisaa(g2);
+ * g.lisaa(g3);
+ * 
+ * Genre g4 = new Genre();
+ * g4.parse(g1.toString());
+ * 
+ * g.onOlemassa(g4.getNimi()) === true;
+ * 
+ * g.haeIdNimella(g1.getNimi()) === g1.getId();
+ * g.haeIdNimella(g2.getNimi()) === g2.getId();
+ * g.haeIdNimella(g3.getNimi()) === g3.getId();
+ * 
+ * g.hae(g1.getId()).toString() === g1.getNimi();
+ * g.hae(g2.getId()).toString() === g2.getNimi();
+ * g.hae(g3.getId()).toString() === g3.getNimi(); 
+ * 
+ * int g1Id = g1.getId(); 
+ * g.poista(g1Id);
+ * g.hae(g1Id); #THROWS NoSuchElementException
+ * </pre>
  */
 public class Genret {
     private ArrayList<Genre> alkiot = new ArrayList<Genre>();
@@ -28,9 +56,14 @@ public class Genret {
     }
     
     
-    private int haeIdNimella(String nimi) {
+    /**
+     * Hakee genren id:n nimen perusteella
+     * @param nimi Nimi, jonka perusteella id haetaan
+     * @return Genren id, -1 jos ei löydy
+     */
+    public int haeIdNimella(String nimi) {
         for (int i = 0; i < alkiot.size(); i++) {
-            if (alkiot.get(i).getNimi() == nimi) return alkiot.get(i).getId();
+            if (alkiot.get(i).getNimi().toLowerCase().contentEquals(nimi.toLowerCase())) return alkiot.get(i).getId();
         }
         return -1;
     }
@@ -59,8 +92,9 @@ public class Genret {
      */
     public boolean onOlemassa(String nimi) {
         for (int i = 0; i < alkiot.size(); i++) {
-            if (alkiot.get(i).getNimi() == nimi) {
+            if (alkiot.get(i).getNimi().toLowerCase().contentEquals(nimi.toLowerCase())) {
                 return true;
+                
             }
         }
         return false;
diff --git a/src/Kirjalista/Kirja.java b/src/Kirjalista/Kirja.java
index 4028e947f01368b57a9736933d10257bb7c19871..91036ac7fc518c6e828c52130f5ff44987558457 100644
--- a/src/Kirjalista/Kirja.java
+++ b/src/Kirjalista/Kirja.java
@@ -83,6 +83,21 @@ public class Kirja {
     }
 
     
+    /**
+     * Apumetodi, jolla saadaan luotua kirjaolio testejä varten
+     * @return Kirja satunnaisilla arvoilla
+     */
+    public static Kirja testiKirja() {
+        Kirja k = new Kirja();
+        k.rekisteroi();
+        Random rand = new Random();
+        k.nimi = "Hobitti" + rand.nextInt(10);
+        k.kirjoittaja = "J.R.R. Tolkien";
+        k.kirjasarja = "";
+        k.sivumaara = rand.nextInt(1000);
+        return k;
+    }
+    
     /**
      * @return palauttaa kirjan id:n
      */
@@ -107,18 +122,5 @@ public class Kirja {
     }
     
     
-    /**
-     * Testausta varten
-     * @param args ei käytössä
-     */
-    public static void main(String[] args) {
-        Kirja k = new Kirja();
-        k.rekisteroi();
-        k.esimerkkiKirja();
-        k.tulosta(System.out);
-        Kirja k1 = new Kirja();
-        k1.rekisteroi();
-        k1.esimerkkiKirja();
-        k1.tulosta(System.out);
-    }
+
 }
diff --git a/src/Kirjalista/Kirjasto.java b/src/Kirjalista/Kirjasto.java
index aaca4953e65767a0a2b3384e2ef2f47ade4fb106..a523cbfe96c837647e6c4b64d03450bb3275608d 100644
--- a/src/Kirjalista/Kirjasto.java
+++ b/src/Kirjalista/Kirjasto.java
@@ -44,7 +44,6 @@ public class Kirjasto {
         }
     }
     
-    // TODO haku ja poisto genreRelaatioille ???
     
     /**
      * @param idnro Haettavan kirjan id
diff --git a/src/Kirjalista/Kirjat.java b/src/Kirjalista/Kirjat.java
index 8f5695515b6808c17321114aa88f9a62b8ebe0f0..460ee4856fc8ee24b4510b60a64f061d0b719935 100644
--- a/src/Kirjalista/Kirjat.java
+++ b/src/Kirjalista/Kirjat.java
@@ -8,6 +8,38 @@ import java.util.NoSuchElementException;
  * - Lisää ja poistaa kirjoja
  * - Lukee ja kirjoittaa tiedostoon (sitten joskus)
  * - Etsii ja lajittelee (sitten joskus)
+ * <pre name="test">
+ * #import java.util.NoSuchElementException;
+ * #THROWS NoSuchElementException
+ * Kirjat kirjat = new Kirjat();
+ * 
+ * Kirja k1 = new Kirja();
+ * Kirja k2 = new Kirja();
+ * Kirja k3 = new Kirja();
+ * 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();
+ * } 
+ * 
+ * 
+ * kirjat.hae(k1.getId()).getNimi() === "Hobitti1";
+ * kirjat.hae(k3.getId()).getNimi() === "Hobitti3";
+ * kirjat.hae(0); #THROWS NoSuchElementException
+ * kirjat.hae(5); #THROWS NoSuchElementException
+ * 
+ * int k2Id = k2.getId();
+ * kirjat.poista(k2Id);
+ * kirjat.hae(k2Id); #THROWS NoSuchElementException
+ * 
+ * </pre>
  */
 public class Kirjat {
     private int maxLkm = 8;
@@ -18,6 +50,22 @@ 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
+	 * 
+	 * 
+	 * </pre>
      */
     public void lisaa(Kirja kirja) throws SailoException {
         if (this.lkm >= this.alkiot.length) throw new SailoException("Liikaa alkioita");
@@ -31,7 +79,6 @@ public class Kirjat {
      * Poistaa kirjan annetulla id:llä
      * @param id Poistettavan kirjan id
      * @throws NoSuchElementException Jos id:tä vastaavaa kirjaa ei löydy
-     * TODO testit
      */
     public void poista(int id) throws NoSuchElementException {
         for (int i = 0; i < alkiot.length; i++) {
@@ -39,7 +86,7 @@ public class Kirjat {
                 for (int j = i; j < alkiot.length - 1; j++) {
                     alkiot[j] = alkiot[j + 1];
                 }
-                alkiot[alkiot.length] = null;
+                alkiot[alkiot.length - 1] = null;
                 this.lkm--;
                 return;
             }
@@ -51,12 +98,11 @@ public class Kirjat {
      * Hakee kirjan id:n perusteella
      * @param id Halutun kirjan id
      * @return Viite kirjaan halutulla id:llä
-     * @throws NoSuchElementException
-     * TODO testit
+     * @throws NoSuchElementException Jos Id:tä vastaavaa kirjaa ei löydy
      */
     public Kirja hae(int id) throws NoSuchElementException {
         
-        for (int i = 0; i < alkiot.length; i++) {
+        for (int i = 0; i < this.lkm; i++) {
             if (alkiot[i].getId() == id) return alkiot[i];
         }
         
diff --git a/src/Kirjalista/test/GenreRelaatioTest.java b/src/Kirjalista/test/GenreRelaatioTest.java
index e0049becadcd7d508b1305bd67f930c0b22433a6..439fae5859a7879d12f546b95e566312db2c5b97 100644
--- a/src/Kirjalista/test/GenreRelaatioTest.java
+++ b/src/Kirjalista/test/GenreRelaatioTest.java
@@ -1,5 +1,6 @@
 package Kirjalista.test;
 // Generated by ComTest BEGIN
+import java.util.ArrayList;
 import static org.junit.Assert.*;
 import org.junit.*;
 import Kirjalista.*;
@@ -8,7 +9,7 @@ import tietorakenne.LinkattuLista;
 
 /**
  * Test class made by ComTest
- * @version 2025.03.05 22:52:50 // Generated by ComTest
+ * @version 2025.03.13 19:08:29 // Generated by ComTest
  *
  */
 @SuppressWarnings({ "all" })
@@ -17,12 +18,51 @@ public class GenreRelaatioTest {
 
 
   // Generated by ComTest BEGIN
-  /** testHaeKirjat33 */
+  /** testHaeKirjat31 */
   @Test
-  public void testHaeKirjat33() {    // GenreRelaatio: 33
+  public void testHaeKirjat31() {    // GenreRelaatio: 31
     GenreRelaatio gr = new GenreRelaatio(); 
-    gr.lisaa(new KirjanGenre(1, 2)); 
-    int[] t = gr.haeKirjat(2); 
-    assertEquals("From: GenreRelaatio line: 37", 1, t[0]); 
+    Kirja k = Kirja.testiKirja(); 
+    Kirja k1 = Kirja.testiKirja(); 
+    Kirja k2 = Kirja.testiKirja(); 
+    Genre g = Genre.testiGenre(); 
+    Genre g2 = Genre.testiGenre(); 
+    gr.lisaa(new KirjanGenre(k, g)); 
+    gr.lisaa(new KirjanGenre(k1, g)); 
+    gr.lisaa(new KirjanGenre(k2, g)); 
+    gr.lisaa(new KirjanGenre(k, g2)); 
+    ArrayList<Integer> al = gr.haeKirjat(g.getId()); 
+    int i = al.get(0); 
+    int i1 = al.get(1); 
+    int i2 = al.get(2); 
+    assertEquals("From: GenreRelaatio line: 48", k.getId(), i); 
+    assertEquals("From: GenreRelaatio line: 49", k1.getId(), i1); 
+    assertEquals("From: GenreRelaatio line: 50", k2.getId(), i2); 
+    assertEquals("From: GenreRelaatio line: 51", 3, al.size()); 
+  } // Generated by ComTest END
+
+
+  // Generated by ComTest BEGIN
+  /** testHaeGenret78 */
+  @Test
+  public void testHaeGenret78() {    // GenreRelaatio: 78
+    GenreRelaatio gr = new GenreRelaatio(); 
+    Kirja k = Kirja.testiKirja(); 
+    Kirja k2 = Kirja.testiKirja(); 
+    Genre g = Genre.testiGenre(); 
+    Genre g1 = Genre.testiGenre(); 
+    Genre g2 = Genre.testiGenre(); 
+    gr.lisaa(new KirjanGenre(k, g2)); 
+    gr.lisaa(new KirjanGenre(k, g)); 
+    gr.lisaa(new KirjanGenre(k, g1)); 
+    gr.lisaa(new KirjanGenre(k2, g)); 
+    ArrayList<Integer> al = gr.haeGenret(k.getId()); 
+    int i = al.get(0); 
+    int i1 = al.get(1); 
+    int i2 = al.get(2); 
+    assertEquals("From: GenreRelaatio line: 94", g2.getId(), i); 
+    assertEquals("From: GenreRelaatio line: 95", g.getId(), i1); 
+    assertEquals("From: GenreRelaatio line: 96", g1.getId(), i2); 
+    assertEquals("From: GenreRelaatio line: 98", 3, al.size()); 
   } // Generated by ComTest END
 }
\ No newline at end of file
diff --git a/src/Kirjalista/test/GenretTest.java b/src/Kirjalista/test/GenretTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..b27b7e890e70a5067ecd46e376dcf170aa8482e3
--- /dev/null
+++ b/src/Kirjalista/test/GenretTest.java
@@ -0,0 +1,46 @@
+package Kirjalista.test;
+// Generated by ComTest BEGIN
+import java.util.NoSuchElementException;
+import static org.junit.Assert.*;
+import org.junit.*;
+import Kirjalista.*;
+// Generated by ComTest END
+
+/**
+ * Test class made by ComTest
+ * @version 2025.03.13 19:30:50 // Generated by ComTest
+ *
+ */
+@SuppressWarnings({ "all" })
+public class GenretTest {
+
+
+
+  // Generated by ComTest BEGIN
+  /** testGenret12 */
+  @Test
+  public void testGenret12() {    // Genret: 12
+    Genret g = new Genret(); 
+    Genre g1 = Genre.testiGenre(); 
+    Genre g2 = Genre.testiGenre(); 
+    Genre g3 = Genre.testiGenre(); 
+    g.lisaa(g1); 
+    g.lisaa(g2); 
+    g.lisaa(g3); 
+    Genre g4 = new Genre(); 
+    g4.parse(g1.toString()); 
+    assertEquals("From: Genret line: 26", true, g.onOlemassa(g4.getNimi())); 
+    assertEquals("From: Genret line: 28", g1.getId(), g.haeIdNimella(g1.getNimi())); 
+    assertEquals("From: Genret line: 29", g2.getId(), g.haeIdNimella(g2.getNimi())); 
+    assertEquals("From: Genret line: 30", g3.getId(), g.haeIdNimella(g3.getNimi())); 
+    assertEquals("From: Genret line: 32", g1.getNimi(), g.hae(g1.getId()).toString()); 
+    assertEquals("From: Genret line: 33", g2.getNimi(), g.hae(g2.getId()).toString()); 
+    assertEquals("From: Genret line: 34", g3.getNimi(), g.hae(g3.getId()).toString()); 
+    int g1Id = g1.getId(); 
+    g.poista(g1Id); 
+    try {
+    g.hae(g1Id); 
+    fail("Genret: 38 Did not throw NoSuchElementException");
+    } catch(NoSuchElementException _e_){ _e_.getMessage(); }
+  } // Generated by ComTest END
+}
\ No newline at end of file
diff --git a/src/Kirjalista/test/KirjanGenreTest.java b/src/Kirjalista/test/KirjanGenreTest.java
deleted file mode 100644
index 67e68bcb584a6167fae63671217725ebdcc56e84..0000000000000000000000000000000000000000
--- a/src/Kirjalista/test/KirjanGenreTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package Kirjalista.test;
-// Generated by ComTest BEGIN
-import static org.junit.Assert.*;
-import org.junit.*;
-import Kirjalista.*;
-// Generated by ComTest END
- * @version 2025.03.10 18:15:06 // Generated by ComTest
-package Kirjalista.test;
-
-/**
- * Test class made by ComTest
- * @version 2025.03.10 18:15:06 // Generated by ComTest
- *
- */
-@SuppressWarnings({ "all" })
-public class KirjanGenreTest {
-}
\ No newline at end of file
diff --git a/src/Kirjalista/test/KirjatTest.java b/src/Kirjalista/test/KirjatTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..02e1f5cfc71f568ed75e4bfd1cf1d4e48cb0d716
--- /dev/null
+++ b/src/Kirjalista/test/KirjatTest.java
@@ -0,0 +1,76 @@
+package Kirjalista.test;
+// Generated by ComTest BEGIN
+import java.util.NoSuchElementException;
+import static org.junit.Assert.*;
+import org.junit.*;
+import Kirjalista.*;
+// Generated by ComTest END
+
+/**
+ * Test class made by ComTest
+ * @version 2025.03.13 19:42:50 // Generated by ComTest
+ *
+ */
+@SuppressWarnings({ "all" })
+public class KirjatTest {
+
+
+
+  // Generated by ComTest BEGIN
+  /** testKirjat11 */
+  @Test
+  public void testKirjat11() {    // Kirjat: 11
+    Kirjat kirjat = new Kirjat(); 
+    Kirja k1 = new Kirja(); 
+    Kirja k2 = new Kirja(); 
+    Kirja k3 = new Kirja(); 
+    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()); 
+    try {
+    kirjat.hae(0); 
+    fail("Kirjat: 35 Did not throw NoSuchElementException");
+    } catch(NoSuchElementException _e_){ _e_.getMessage(); }
+    try {
+    kirjat.hae(5); 
+    fail("Kirjat: 36 Did not throw NoSuchElementException");
+    } catch(NoSuchElementException _e_){ _e_.getMessage(); }
+    int k2Id = k2.getId(); 
+    kirjat.poista(k2Id); 
+    try {
+    kirjat.hae(k2Id); 
+    fail("Kirjat: 40 Did not throw NoSuchElementException");
+    } catch(NoSuchElementException _e_){ _e_.getMessage(); }
+  } // Generated by ComTest END
+
+
+  // Generated by ComTest BEGIN
+  /** testLisaa53 */
+  @Test
+  public void testLisaa53() {    // Kirjat: 53
+    Kirja kirja = new Kirja(); 
+    Kirjat kirjat = new Kirjat(); 
+    try {
+    for (int i = 0; i < 8; i++) {
+    kirjat.lisaa(kirja); 
+    assertEquals("From: Kirjat line: 59", i + 1, kirjat.getLkm()); 
+    }
+    assertEquals("From: Kirjat line: 61", 8, kirjat.getLkm()); 
+    } catch (SailoException e) {
+    System.out.println("Comtest heittaa virheita, jos ei ole trycatchia"); 
+    }
+    try {
+    kirjat.lisaa(kirja); 
+    fail("Kirjat: 65 Did not throw SailoException");
+    } catch(SailoException _e_){ _e_.getMessage(); }
+  } // Generated by ComTest END
+}
\ No newline at end of file