From ce26d40324d36fba50d6b897016092ed9b126b11 Mon Sep 17 00:00:00 2001
From: aichinos <aichinos@jyu.fi>
Date: Tue, 25 Feb 2025 20:02:59 +0200
Subject: [PATCH] Kurssi ID toimii

---
 mmkurssit/.classpath                         |  1 +
 mmkurssit/src/mmkurssit/Kurssi.java          | 51 +++++++++++++++-----
 mmkurssit/src/mmkurssit/test/KurssiTest.java | 32 ++++++++++++
 3 files changed, 72 insertions(+), 12 deletions(-)
 create mode 100644 mmkurssit/src/mmkurssit/test/KurssiTest.java

diff --git a/mmkurssit/.classpath b/mmkurssit/.classpath
index 8c39f29..58a9ee2 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 0131e84..2c18d79 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 0000000..00ce85a
--- /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
-- 
GitLab