From 2bde2052e5aa42693dc2c39f7c1939e09a42b2cc Mon Sep 17 00:00:00 2001 From: JunkJumper Date: Sun, 24 May 2020 16:16:19 +0200 Subject: [PATCH 1/2] "TD2 ex 2 ok" --- .../EnsembleEntierBorne.java | 101 +++++++++--------- .../TestEnsembleEntierBorne.java | 6 +- .../EnsembleEntierBorneTest.java | 100 +++++++++++++++++ 3 files changed, 155 insertions(+), 52 deletions(-) create mode 100644 tests/TD2/ensembleEntierBorne/EnsembleEntierBorneTest.java diff --git a/src/TD2/ensembleEntierBorne/EnsembleEntierBorne.java b/src/TD2/ensembleEntierBorne/EnsembleEntierBorne.java index a318e35..900f5d2 100644 --- a/src/TD2/ensembleEntierBorne/EnsembleEntierBorne.java +++ b/src/TD2/ensembleEntierBorne/EnsembleEntierBorne.java @@ -2,70 +2,69 @@ package TD2.ensembleEntierBorne; public class EnsembleEntierBorne { - private final int MAXIMUM; - private boolean tab[]; + private final int MAXIMUM; + private boolean tab[]; - public EnsembleEntierBorne(int max) - { - MAXIMUM = max; - tab = new boolean[max+1]; - } + public EnsembleEntierBorne() { + this(0); + } + + public EnsembleEntierBorne(int max) { + this.MAXIMUM = max; + this.tab = new boolean[max + 1]; + for(int i = 0; i < this.getMAXIMUM(); i++) { + this.setTabI(false, i); + } + } - public void add(int elt) - { - this.tab[elt] = true; - } - - public void remove(int elt) - { - this.tab[elt] = false; - } + public void add(int elt) { + this.setTabI(true, elt); + } - public boolean doesContains(int elt) - { - if (this.tab[elt] == true) { - return true; - } else { - return false; - } - } + public void remove(int elt) { + this.setTabI(false, elt); + } - /*EnsembleEntierBorne intersect(EnsembleEntierBorne ens) - { - - }*/ + public boolean doesContains(int elt) { + return this.tab[elt]; + } + public EnsembleEntierBorne intersect(EnsembleEntierBorne ens) { + EnsembleEntierBorne e = new EnsembleEntierBorne(Math.max(this.getMAXIMUM(), ens.getMAXIMUM())); + + for(int i=0; i < Math.min(this.getMAXIMUM(), ens.getMAXIMUM()); i++) { + e.setTabI(this.doesContains(i) && ens.doesContains(i), i); + } + return e; + } + public int getMAXIMUM() { - return MAXIMUM; - } - + return this.MAXIMUM; + } public boolean[] getTab() { - return tab; - } - - public void setTab(boolean tab[]) { - this.tab = tab; + return this.tab; + } + + public void setTab(boolean[] b) { + this.tab = b; + } + + public void setTabI(boolean b, int i) { + this.tab[i] = b; } @Override public String toString() { - - String retour = "{"; - for (int i = 0; i < this.MAXIMUM; i++) - { - if (this.tab[i] == true) - { - retour += i+", "; - } - } - retour += "}"; - return retour; + String s = "{"; + + for (int i = 0; i < this.getMAXIMUM(); i++) { + if (doesContains(i)) { + s += i + ", "; + } + } + return s.substring(0, s.length()-2) + "}"; } - - - - } diff --git a/src/TD2/ensembleEntierBorne/TestEnsembleEntierBorne.java b/src/TD2/ensembleEntierBorne/TestEnsembleEntierBorne.java index ef2274f..deee60c 100644 --- a/src/TD2/ensembleEntierBorne/TestEnsembleEntierBorne.java +++ b/src/TD2/ensembleEntierBorne/TestEnsembleEntierBorne.java @@ -5,7 +5,7 @@ public class TestEnsembleEntierBorne { public static void main(String[] args) { EnsembleEntierBorne e1 = new EnsembleEntierBorne(20); EnsembleEntierBorne e2 = new EnsembleEntierBorne(11); - EnsembleEntierBorne e3 = new EnsembleEntierBorne(5); + EnsembleEntierBorne e3 = new EnsembleEntierBorne(10); e1.add(3); e1.add(5); @@ -35,12 +35,16 @@ public class TestEnsembleEntierBorne { e2.add(8); e3.add(5); + e3.add(8); e3.add(0); e3.add(3); System.out.println("e1 = " + e1.toString()); System.out.println("e2 = " + e2.toString()); System.out.println("e3 = " + e3.toString()); + + System.out.println(e3.intersect(e2)); + } } diff --git a/tests/TD2/ensembleEntierBorne/EnsembleEntierBorneTest.java b/tests/TD2/ensembleEntierBorne/EnsembleEntierBorneTest.java new file mode 100644 index 0000000..9526381 --- /dev/null +++ b/tests/TD2/ensembleEntierBorne/EnsembleEntierBorneTest.java @@ -0,0 +1,100 @@ +package TD2.ensembleEntierBorne; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.Test; + +public class EnsembleEntierBorneTest { + + private EnsembleEntierBorne e1 = new EnsembleEntierBorne(20); + private EnsembleEntierBorne e2 = new EnsembleEntierBorne(16); + private EnsembleEntierBorne e3 = new EnsembleEntierBorne(18); + + + @Test + public void testAdd() { + e1.add(3); + e1.add(5); + e1.add(9); + e1.add(14); + e1.add(18); + + assertTrue(e1.doesContains(3)); + assertTrue(e1.doesContains(5)); + assertTrue(e1.doesContains(9)); + assertTrue(e1.doesContains(14)); + assertTrue(e1.doesContains(18)); + } + + @Test + public void testRemove() { + + e2.add(1); + e2.add(2); + e2.add(3); + e2.add(4); + e2.add(5); + e2.add(6); + e2.add(7); + e2.add(8); + + assertTrue(e2.doesContains(1)); + assertTrue(e2.doesContains(2)); + assertTrue(e2.doesContains(3)); + assertTrue(e2.doesContains(4)); + assertTrue(e2.doesContains(5)); + assertTrue(e2.doesContains(6)); + assertTrue(e2.doesContains(7)); + assertTrue(e2.doesContains(8)); + + e2.remove(2); + e2.remove(5); + e2.remove(8); + + assertFalse(e2.doesContains(2)); + assertFalse(e2.doesContains(5)); + assertFalse(e2.doesContains(8)); + } + + @Test + public void testToString() { + e2.add(1); + e2.add(2); + e2.add(3); + e2.add(4); + e2.add(5); + e2.add(6); + e2.add(7); + e2.add(8); + + assertEquals("{1, 2, 3, 4, 5, 6, 7, 8}", e2.toString()); + } + + @Test + public void testIntersect() { + e1.add(3); + e1.add(5); + e1.add(9); + e1.add(14); + e1.add(18); + + e2.add(1); + e2.add(3); + e2.add(4); + e2.add(5); + e2.add(7); + e2.add(9); + e2.add(15); + + e3 = e1.intersect(e2); + + assertTrue(e3.doesContains(3)); + assertTrue(e3.doesContains(5)); + assertTrue(e3.doesContains(9)); + + + + } +} From d84bf8e92d8ae079cdc79895d2482dd163457c23 Mon Sep 17 00:00:00 2001 From: JunkJumper Date: Sun, 24 May 2020 17:22:46 +0200 Subject: [PATCH 2/2] TD2 ex3 ok --- src/TD2/jourDeLaSemaine/JourSemaine.java | 77 +++++++++++++++++++ .../TD2/jourDeLaSemaine/jourSemaineTest.java | 37 +++++++++ 2 files changed, 114 insertions(+) create mode 100644 src/TD2/jourDeLaSemaine/JourSemaine.java create mode 100644 tests/TD2/jourDeLaSemaine/jourSemaineTest.java diff --git a/src/TD2/jourDeLaSemaine/JourSemaine.java b/src/TD2/jourDeLaSemaine/JourSemaine.java new file mode 100644 index 0000000..8b62ca2 --- /dev/null +++ b/src/TD2/jourDeLaSemaine/JourSemaine.java @@ -0,0 +1,77 @@ +package TD2.jourDeLaSemaine; + +public class JourSemaine { + + public final String[] JOURS = {"lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"}; + // 0 1 2 3 4 5 6 + public int jour; + + public JourSemaine() { + this(0); + } + + public JourSemaine(int j) { + this.setJour(j); + } + + public JourSemaine(String s) { + int j; + switch (s.toLowerCase()) { + case "mardi": + j = 1; + break; + case "mercredi": + j = 2; + break; + case "jeudi": + j = 3; + break; + case "vendredi": + j = 4; + break; + case "samedi": + j = 5; + break; + case "dimanche": + j = 6; + break; + default: + j = 0; + break; + } + this.setJour(j); + } + + public String toString() { + return this.getJour(this.getNumero()); + } + + public JourSemaine veille() { + if(this.getNumero() == 0) { + return new JourSemaine(6); + } else { + return new JourSemaine(this.getNumero()-1); + } + } + + public JourSemaine lendemain() { + if(this.getNumero() == 6) { + return new JourSemaine(0); + } else { + return new JourSemaine(this.getNumero()+1); + } + } + + public int getNumero() { + return jour; + } + + public void setJour(int jour) { + this.jour = jour; + } + + public String getJour(int i) { + return this.JOURS[i]; + } + +} diff --git a/tests/TD2/jourDeLaSemaine/jourSemaineTest.java b/tests/TD2/jourDeLaSemaine/jourSemaineTest.java new file mode 100644 index 0000000..22164d4 --- /dev/null +++ b/tests/TD2/jourDeLaSemaine/jourSemaineTest.java @@ -0,0 +1,37 @@ +package TD2.jourDeLaSemaine; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.Test; + +public class jourSemaineTest { + + JourSemaine j1 = new JourSemaine(); + JourSemaine j2 = new JourSemaine(2); + JourSemaine j3 = new JourSemaine("vendredi"); + + @Test + public void testToString() { + assertEquals("lundi", j1.toString()); + assertEquals("mercredi", j2.toString()); + assertEquals("vendredi", j3.toString()); + } + + @Test + public void testVeille() { + JourSemaine j = j2.veille(); + assertEquals("mardi", j.toString()); + j = j1.veille(); + assertEquals("dimanche", j.toString()); + } + + @Test + public void testLendemain() { + JourSemaine j = new JourSemaine(6); + j = j.lendemain(); + assertEquals("lundi", j.toString()); + j = j3.lendemain(); + assertEquals("samedi", j.toString()); + } + +}