From 6be12a9e4caf62ca2618f9048e19ff837d47a386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A4sp=C3=A4=20Vili=20Valtteri?= <vili.v.laspa@student.jyu.fi> Date: Tue, 11 Mar 2025 13:30:33 +0200 Subject: [PATCH] =?UTF-8?q?vaihe=205=20lis=C3=A4tty=20tulokset-luokka?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- puntti/src/puntti/Tulokset.java | 107 +++++++++++++++++++++++ puntti/src/puntti/test/TuloksetTest.java | 40 +++++++++ 2 files changed, 147 insertions(+) create mode 100644 puntti/src/puntti/test/TuloksetTest.java diff --git a/puntti/src/puntti/Tulokset.java b/puntti/src/puntti/Tulokset.java index c49382f..503e370 100644 --- a/puntti/src/puntti/Tulokset.java +++ b/puntti/src/puntti/Tulokset.java @@ -1,5 +1,112 @@ package puntti; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +/** + * |------------------------------------------------------------------------| + * | Luokan nimi: Tulokset | Avustajat: | + * |------------------------------------------------------------------------- + * | Vastuualueet: | | + * | | - Tulos | + * | - Pitää yllä tuloksia. Osaa poistaa ja lisätä | | + * | liikkeen | | + * | - lukee ja kirjoittaa liikkeet tiedostoon | | + * | - osaa etsiä ja lajitella | | + * |------------------------------------------------------------------------- + * @author laspa + * @version 11.3.2025 + * + */ public class Tulokset { + + private Collection<Tulos> alkiot = new ArrayList<Tulos>(); + + + /** + * alustetaan tulokset + */ + public Tulokset(){ + //ei tarvitse sillä alustetaan yläpuolellea + } + + /** + * @param tulos liättävä tulos + */ + public void lisaa(Tulos tulos) { + alkiot.add(tulos); + } + + /** + * Haetaan kaikki liikkeen tulokset + * @param id liikkeen id jolla haetaan tuloksia + * @return tietorakenne jossa on viitteet löydettyihin tuloksiin + * @example + * <pre name="test"> + * #import java.util.*; + * + * Tulokset tulokset = new Tulokset(); + * Tulos penkki1 = new Tulos(2); tulokset.lisaa(penkki1); + * Tulos penkki2 = new Tulos(1); tulokset.lisaa(penkki2); + * Tulos penkki3 = new Tulos(2); tulokset.lisaa(penkki3); + * Tulos penkki4 = new Tulos(1); tulokset.lisaa(penkki4); + * Tulos penkki5 = new Tulos(2); tulokset.lisaa(penkki5); + * Tulos penkki6 = new Tulos(4); tulokset.lisaa(penkki6); + * + * List<Tulos> loytyneet; + * loytyneet = tulokset.annaTulokset(3); + * loytyneet.size() === 0; + * loytyneet = tulokset.annaTulokset(1); + * loytyneet.size() === 2; + * loytyneet.get(0) == penkki2 === true; + * loytyneet.get(1) == penkki4 === true; + * loytyneet = tulokset.annaTulokset(4); + * loytyneet.size() === 1; + * loytyneet.get(0) == penkki6 === true; + * </pre> + */ + public List<Tulos> annaTulokset(int id) { + List<Tulos> loytyneet = new ArrayList<Tulos>(); + for (Tulos tulokseet: alkiot) + if (tulokseet.getLid() == id) loytyneet.add(tulokseet); + return loytyneet; + } + + + + + /** + * Testiohjelma tulokset luokalle + * @param args ei kaytossa + */ + public static void main(String[] args) { + Tulokset tulokset = new Tulokset(); + Tulos penkki1 = new Tulos(); + penkki1.taytaPenkkiTulos(1); + Tulos penkki2 = new Tulos(); + penkki2.taytaPenkkiTulos(2); + Tulos penkki3 = new Tulos(); + penkki3.taytaPenkkiTulos(2); + Tulos penkki4 = new Tulos(); + penkki4.taytaPenkkiTulos(2); + + tulokset.lisaa(penkki1); + tulokset.lisaa(penkki2); + tulokset.lisaa(penkki3); + tulokset.lisaa(penkki4); + + System.out.println("__________ Tulokset testi__________"); + + List<Tulos> tulokset2 = tulokset.annaTulokset(1); + + for (Tulos tulokseet: tulokset2) { + System.out.println(tulokseet.getLid() + " "); + tulokseet.tulosta(System.out); + } + } + + + } diff --git a/puntti/src/puntti/test/TuloksetTest.java b/puntti/src/puntti/test/TuloksetTest.java new file mode 100644 index 0000000..a05e71f --- /dev/null +++ b/puntti/src/puntti/test/TuloksetTest.java @@ -0,0 +1,40 @@ +package puntti.test; +// Generated by ComTest BEGIN +import java.util.*; +import static org.junit.Assert.*; +import org.junit.*; +import puntti.*; +// Generated by ComTest END + +/** + * Test class made by ComTest + * @version 2025.03.11 13:27:07 // Generated by ComTest + * + */ +@SuppressWarnings("all") +public class TuloksetTest { + + + // Generated by ComTest BEGIN + /** testAnnaTulokset46 */ + @Test + public void testAnnaTulokset46() { // Tulokset: 46 + Tulokset tulokset = new Tulokset(); + Tulos penkki1 = new Tulos(2); tulokset.lisaa(penkki1); + Tulos penkki2 = new Tulos(1); tulokset.lisaa(penkki2); + Tulos penkki3 = new Tulos(2); tulokset.lisaa(penkki3); + Tulos penkki4 = new Tulos(1); tulokset.lisaa(penkki4); + Tulos penkki5 = new Tulos(2); tulokset.lisaa(penkki5); + Tulos penkki6 = new Tulos(4); tulokset.lisaa(penkki6); + List<Tulos> loytyneet; + loytyneet = tulokset.annaTulokset(3); + assertEquals("From: Tulokset line: 59", 0, loytyneet.size()); + loytyneet = tulokset.annaTulokset(1); + assertEquals("From: Tulokset line: 61", 2, loytyneet.size()); + assertEquals("From: Tulokset line: 62", true, loytyneet.get(0) == penkki2); + assertEquals("From: Tulokset line: 63", true, loytyneet.get(1) == penkki4); + loytyneet = tulokset.annaTulokset(4); + assertEquals("From: Tulokset line: 65", 1, loytyneet.size()); + assertEquals("From: Tulokset line: 66", true, loytyneet.get(0) == penkki6); + } // Generated by ComTest END +} \ No newline at end of file -- GitLab