diff --git a/mmkurssit/.classpath b/mmkurssit/.classpath
index 8c39f29e9959a5779e6a1afb652cf9c24e3b6990..58a9ee2332b4b2a398cc8d2f134cef942ed850a3 100644
--- a/mmkurssit/.classpath
+++ b/mmkurssit/.classpath
@@ -8,5 +8,6 @@
 	</classpathentry>
 	<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ohj2"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/mmkurssit/src/mmkurssit/Kurssi.java b/mmkurssit/src/mmkurssit/Kurssi.java
index 0131e845e8b2c24309076b3c9665d04ead7a3900..2c18d79c389d2e0185b593ba707d67665d31e9ee 100644
--- a/mmkurssit/src/mmkurssit/Kurssi.java
+++ b/mmkurssit/src/mmkurssit/Kurssi.java
@@ -19,8 +19,10 @@ public class Kurssi {
     private String opeSukunimi = "";
     private String opeEtunimi = "";
     
-//=========================================================
-    
+    private static int nextID = 1; // static = riippumatta olion olemassa olosta, atribuutti syntyy
+                                        //          kun ohjelma käynistyy
+                                        //        = yhteinen attribuutti koko luokassa
+//=========================================================    
     
     /**
      * Kurssin alustuts
@@ -51,6 +53,37 @@ public class Kurssi {
     }
     
     
+    /**
+     * Palauttaa kurssin tunnusnumeron.
+     * @return kurssin tunnusnumero
+     */
+    public int getID() {
+        return this.kurssiID;
+    }
+    
+    /**
+     * Antaa kurssille seuraavan tunnusnumeron
+     * @example
+     * <pre name="test">
+     *    Kurssi saksa = new Kurssi();
+     *      saksa.getID() === 0;
+     *      saksa.rekisteroi();
+     *    Kurssi ohjelmointi = new Kurssi();
+     *      ohjelmointi.rekisteroi();
+     *    int n1 = saksa.getID();
+     *    int n2 = ohjelmointi.getID();
+     *    n1 === 1;
+     *    n2 === 2;
+     * </pre>
+     */
+    public void rekisteroi() {
+        this.kurssiID = nextID;
+        nextID++;
+    }
+    
+    
+    //MAIN========================================================
+    
     /**
      * @param args ei käytössä
      */
@@ -61,11 +94,12 @@ public class Kurssi {
         Kurssi japani4 = new Kurssi();
         Kurssi ohjelmointi2 = new Kurssi();
         
-        //japani4.rekisteroi();
-        //ohjelmointi2.rekisteroi();
+        japani4.rekisteroi();
+        ohjelmointi2.rekisteroi();
         
         japani4.tulosta(System.out);
         ohjelmointi2.tulosta(System.out);
+        System.out.println(nextID);
         
         //japani4.tayta();
         //ohjelmointi2.tayta();
@@ -85,13 +119,6 @@ public class Kurssi {
     }
 
 
-    /**
-     * 
-     * 
-     */
-    private void rekisteroi() {
-        // TODO Auto-generated method stub
-        
-    }
+    
 
 }
diff --git a/mmkurssit/src/mmkurssit/test/KurssiTest.java b/mmkurssit/src/mmkurssit/test/KurssiTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..00ce85ad2f099e64036993623f41b4d61efcc4ea
--- /dev/null
+++ b/mmkurssit/src/mmkurssit/test/KurssiTest.java
@@ -0,0 +1,32 @@
+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.02.25 20:00:59 // Generated by ComTest
+ *
+ */
+@SuppressWarnings("all")
+public class KurssiTest {
+
+
+
+  // Generated by ComTest BEGIN
+  /** testRekisteroi67 */
+  @Test
+  public void testRekisteroi67() {    // Kurssi: 67
+    Kurssi saksa = new Kurssi(); 
+    assertEquals("From: Kurssi line: 69", 0, saksa.getID()); 
+    saksa.rekisteroi(); 
+    Kurssi ohjelmointi = new Kurssi(); 
+    ohjelmointi.rekisteroi(); 
+    int n1 = saksa.getID(); 
+    int n2 = ohjelmointi.getID(); 
+    assertEquals("From: Kurssi line: 75", 1, n1); 
+    assertEquals("From: Kurssi line: 76", 2, n2); 
+  } // Generated by ComTest END
+}
\ No newline at end of file