From 6399ce612fcc188f3d52c1b80cd5041d5823a145 Mon Sep 17 00:00:00 2001 From: Rossi Oddet Date: Tue, 11 Apr 2017 07:26:39 +0200 Subject: [PATCH 01/12] 01-default-method --- .gitignore | 5 ++ README.md | 5 -- pom.xml | 42 ++++++++++++ src/test/java/java8/data/Account.java | 23 +++++++ src/test/java/java8/data/Data.java | 15 +++++ src/test/java/java8/data/Person.java | 51 +++++++++++++++ src/test/java/java8/ex01/Method_01_Test.java | 68 ++++++++++++++++++++ src/test/java/java8/ex02/Method_02_Test.java | 55 ++++++++++++++++ src/test/java/java8/ex03/Method_03_Test.java | 44 +++++++++++++ 9 files changed, 303 insertions(+), 5 deletions(-) create mode 100644 .gitignore delete mode 100644 README.md create mode 100644 pom.xml create mode 100644 src/test/java/java8/data/Account.java create mode 100644 src/test/java/java8/data/Data.java create mode 100644 src/test/java/java8/data/Person.java create mode 100644 src/test/java/java8/ex01/Method_01_Test.java create mode 100644 src/test/java/java8/ex02/Method_02_Test.java create mode 100644 src/test/java/java8/ex03/Method_03_Test.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..a077dd64 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.idea +*.iml +.classpath +.project +.settings \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 65514ae9..00000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Workshop Java 8 - -Thèmes abordées : - -* Méthode par défaut (01-default-method) \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..09008186 --- /dev/null +++ b/pom.xml @@ -0,0 +1,42 @@ + + + 4.0.0 + + devinstitut + workshop-java8 + 1.0-SNAPSHOT + + + utf-8 + + + + + + + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + + + junit + junit + 4.12 + + + org.hamcrest + hamcrest-library + 1.3 + + + + \ No newline at end of file diff --git a/src/test/java/java8/data/Account.java b/src/test/java/java8/data/Account.java new file mode 100644 index 00000000..3f8c3c14 --- /dev/null +++ b/src/test/java/java8/data/Account.java @@ -0,0 +1,23 @@ +package java8.data; + +public class Account { + + private Person owner; + private Integer balance; + + public Person getOwner() { + return owner; + } + + public void setOwner(Person owner) { + this.owner = owner; + } + + public Integer getBalance() { + return balance; + } + + public void setBalance(Integer balance) { + this.balance = balance; + } +} diff --git a/src/test/java/java8/data/Data.java b/src/test/java/java8/data/Data.java new file mode 100644 index 00000000..44c0dafb --- /dev/null +++ b/src/test/java/java8/data/Data.java @@ -0,0 +1,15 @@ +package java8.data; + + +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +public class Data { + + public static List buildPersonList(int nb) { + return IntStream.rangeClosed(1,nb) + .mapToObj(i -> new Person("first_" + i, "last_" + i, i, i % 9 == 0 ? "test": "password"+i)) + .collect(Collectors.toList()); + } +} diff --git a/src/test/java/java8/data/Person.java b/src/test/java/java8/data/Person.java new file mode 100644 index 00000000..da028d2f --- /dev/null +++ b/src/test/java/java8/data/Person.java @@ -0,0 +1,51 @@ +package java8.data; + +public class Person { + + private String firstname; + private String lastname; + private Integer age; + private String password; + + public Person() { + } + + public Person(String firstname, String lastname, Integer age, String password) { + this.firstname = firstname; + this.lastname = lastname; + this.age = age; + this.password = password; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/src/test/java/java8/ex01/Method_01_Test.java b/src/test/java/java8/ex01/Method_01_Test.java new file mode 100644 index 00000000..39ab95bc --- /dev/null +++ b/src/test/java/java8/ex01/Method_01_Test.java @@ -0,0 +1,68 @@ +package java8.ex01; + +import java8.data.Data; +import java8.data.Person; +import org.junit.Test; + +import java.util.List; + +import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; + +/** + * Exercice 01 - Méthode par défaut + */ +public class Method_01_Test { + + // tag::IDao[] + interface IDao { + List findAll(); + + // TODO créer une méthode int sumAge() + // TODO Cette méthode retourne le résultat de l'addition des ages des personnes + } + // end::IDao[] + + class DaoA implements IDao { + + List people = Data.buildPersonList(20); + + @Override + public List findAll() { + return people; + } + } + + class DaoB implements IDao { + + List people = Data.buildPersonList(100); + + @Override + public List findAll() { + return people; + } + } + + @Test + public void test_daoA_sumAge() throws Exception { + + DaoA daoA = new DaoA(); + + // TODO invoquer la méthode sumAge pour que le test soit passant + int result = 0; + + assertThat(result, is(210)); + } + + @Test + public void test_daoB_sumAge() throws Exception { + + DaoB daoB = new DaoB(); + + // TODO invoquer la méthode sumAge pour que le test soit passant + int result = 0; + + assertThat(result, is(5050)); + + } +} diff --git a/src/test/java/java8/ex02/Method_02_Test.java b/src/test/java/java8/ex02/Method_02_Test.java new file mode 100644 index 00000000..2242e651 --- /dev/null +++ b/src/test/java/java8/ex02/Method_02_Test.java @@ -0,0 +1,55 @@ +package java8.ex02; + +import java8.data.Data; +import java8.data.Person; +import org.junit.Test; + +import java.util.List; + +import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; + +/** + * Exercice 02 - Redéfinition + */ +public class Method_02_Test { + + // tag::IDao[] + interface IDao { + List findAll(); + + // TODO créer une méthode String format() + // TODO la méthode retourne une chaîne de la forme [ persons] + // TODO exemple de résultat : "[14 persons]", "[30 persons]" + } + // end::IDao[] + + // tag::DaoA[] + class DaoA implements IDao { + + List people = Data.buildPersonList(20); + + @Override + public List findAll() { + return people; + } + + // TODO redéfinir la méthode String format() + // TODO la méthode retourne une chaîne de la forme DaoA[ persons] + // TODO exemple de résultat : "DaoA[14 persons]", "DaoA[30 persons]" + // TODO l'implémentation réutilise la méthode format() de l'interface + + } + // end::DaoA[] + + @Test + public void test_daoA_format() throws Exception { + + DaoA daoA = new DaoA(); + + // TODO invoquer la méthode format() pour que le test soit passant + String result = null; + + assertThat(result, is("DaoA[20 persons]")); + } +} diff --git a/src/test/java/java8/ex03/Method_03_Test.java b/src/test/java/java8/ex03/Method_03_Test.java new file mode 100644 index 00000000..b3781c65 --- /dev/null +++ b/src/test/java/java8/ex03/Method_03_Test.java @@ -0,0 +1,44 @@ +package java8.ex03; + +import java8.data.Data; +import java8.data.Person; +import org.junit.Test; + +import java.util.List; + +import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; + +/** + * Exercice 03 - Méthode statique + */ +public class Method_03_Test { + + // tag::IDao[] + interface IDao { + List findAll(); + + // TODO créer une méthode statique IDao getDefaultInstance() + // TODO cette méthode retourne une instance de la classe DaoA + } + // end::IDao[] + + class DaoA implements IDao { + + List people = Data.buildPersonList(20); + + @Override + public List findAll() { + return people; + } + + } + + @Test + public void test_getDefaultInstance() throws Exception { + // TODO invoquer la méthode getDefaultInstance() pour que le test soit passant + IDao result = null; + + assertThat(result.findAll(), hasSize(20)); + } +} From eadeb9f659bc0523d615ea4cd5edba38beec156e Mon Sep 17 00:00:00 2001 From: Rossi Oddet Date: Mon, 10 Jul 2017 08:38:31 +0200 Subject: [PATCH 02/12] migration hamcrest -> assert --- .gitignore | 3 ++- pom.xml | 5 ----- src/test/java/java8/ex01/Method_01_Test.java | 13 ++++++------- src/test/java/java8/ex02/Method_02_Test.java | 12 +++++------- src/test/java/java8/ex03/Method_03_Test.java | 12 +++++------- 5 files changed, 18 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index a077dd64..6e252a5d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ *.iml .classpath .project -.settings \ No newline at end of file +.settings +target \ No newline at end of file diff --git a/pom.xml b/pom.xml index 09008186..828f8d0c 100644 --- a/pom.xml +++ b/pom.xml @@ -32,11 +32,6 @@ junit 4.12 - - org.hamcrest - hamcrest-library - 1.3 - \ No newline at end of file diff --git a/src/test/java/java8/ex01/Method_01_Test.java b/src/test/java/java8/ex01/Method_01_Test.java index 39ab95bc..96326480 100644 --- a/src/test/java/java8/ex01/Method_01_Test.java +++ b/src/test/java/java8/ex01/Method_01_Test.java @@ -1,13 +1,12 @@ package java8.ex01; -import java8.data.Data; -import java8.data.Person; +import java.util.List; + import org.junit.Test; -import java.util.List; +import java8.data.Data; +import java8.data.Person; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; /** * Exercice 01 - Méthode par défaut @@ -51,7 +50,7 @@ public void test_daoA_sumAge() throws Exception { // TODO invoquer la méthode sumAge pour que le test soit passant int result = 0; - assertThat(result, is(210)); + assert result == 210; } @Test @@ -62,7 +61,7 @@ public void test_daoB_sumAge() throws Exception { // TODO invoquer la méthode sumAge pour que le test soit passant int result = 0; - assertThat(result, is(5050)); + assert result == 5050; } } diff --git a/src/test/java/java8/ex02/Method_02_Test.java b/src/test/java/java8/ex02/Method_02_Test.java index 2242e651..6251d4fd 100644 --- a/src/test/java/java8/ex02/Method_02_Test.java +++ b/src/test/java/java8/ex02/Method_02_Test.java @@ -1,13 +1,11 @@ package java8.ex02; -import java8.data.Data; -import java8.data.Person; -import org.junit.Test; - import java.util.List; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; +import org.junit.Test; + +import java8.data.Data; +import java8.data.Person; /** * Exercice 02 - Redéfinition @@ -50,6 +48,6 @@ public void test_daoA_format() throws Exception { // TODO invoquer la méthode format() pour que le test soit passant String result = null; - assertThat(result, is("DaoA[20 persons]")); + "DaoA[20 persons]".equals(result); } } diff --git a/src/test/java/java8/ex03/Method_03_Test.java b/src/test/java/java8/ex03/Method_03_Test.java index b3781c65..8b8dec4f 100644 --- a/src/test/java/java8/ex03/Method_03_Test.java +++ b/src/test/java/java8/ex03/Method_03_Test.java @@ -1,13 +1,11 @@ package java8.ex03; -import java8.data.Data; -import java8.data.Person; -import org.junit.Test; - import java.util.List; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; +import org.junit.Test; + +import java8.data.Data; +import java8.data.Person; /** * Exercice 03 - Méthode statique @@ -39,6 +37,6 @@ public void test_getDefaultInstance() throws Exception { // TODO invoquer la méthode getDefaultInstance() pour que le test soit passant IDao result = null; - assertThat(result.findAll(), hasSize(20)); + assert result.findAll().size() == 20; } } From c90438419553cce8d20bbbe5a88c9caabaf05c3b Mon Sep 17 00:00:00 2001 From: ricbon35 Date: Fri, 11 Oct 2019 16:54:28 +0200 Subject: [PATCH 03/12] 01 --- src/test/java/java8/ex03/Method_03_Test.java | 42 -------------------- 1 file changed, 42 deletions(-) delete mode 100644 src/test/java/java8/ex03/Method_03_Test.java diff --git a/src/test/java/java8/ex03/Method_03_Test.java b/src/test/java/java8/ex03/Method_03_Test.java deleted file mode 100644 index 8b8dec4f..00000000 --- a/src/test/java/java8/ex03/Method_03_Test.java +++ /dev/null @@ -1,42 +0,0 @@ -package java8.ex03; - -import java.util.List; - -import org.junit.Test; - -import java8.data.Data; -import java8.data.Person; - -/** - * Exercice 03 - Méthode statique - */ -public class Method_03_Test { - - // tag::IDao[] - interface IDao { - List findAll(); - - // TODO créer une méthode statique IDao getDefaultInstance() - // TODO cette méthode retourne une instance de la classe DaoA - } - // end::IDao[] - - class DaoA implements IDao { - - List people = Data.buildPersonList(20); - - @Override - public List findAll() { - return people; - } - - } - - @Test - public void test_getDefaultInstance() throws Exception { - // TODO invoquer la méthode getDefaultInstance() pour que le test soit passant - IDao result = null; - - assert result.findAll().size() == 20; - } -} From eb874099763a8716469d9c8f6bdf25d028df13c3 Mon Sep 17 00:00:00 2001 From: ricbon35 Date: Fri, 11 Oct 2019 17:00:37 +0200 Subject: [PATCH 04/12] 01 --- .gitignore | 3 ++- pom.xml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6e252a5d..ca349d52 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ .classpath .project .settings -target \ No newline at end of file +/target +/bin \ No newline at end of file diff --git a/pom.xml b/pom.xml index 828f8d0c..606c9fbb 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 devinstitut - workshop-java8 + java-java8 1.0-SNAPSHOT From c27727761fedca3183d95aca3db109e1a631c845 Mon Sep 17 00:00:00 2001 From: ricbon35 Date: Fri, 11 Oct 2019 17:12:18 +0200 Subject: [PATCH 05/12] 01 --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 606c9fbb..512f24fc 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,11 @@ junit 4.12 + + org.hamcrest + hamcrest-library + 1.3 + \ No newline at end of file From 900fcf119fbc97bf92456d6a6a461bd2ab7946da Mon Sep 17 00:00:00 2001 From: "rbonnamy@diginamic.fr" Date: Wed, 15 Jul 2020 10:27:32 +0200 Subject: [PATCH 06/12] Correction: manque assert en ligne 51 --- src/test/java/java8/ex02/Method_02_Test.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/java8/ex02/Method_02_Test.java b/src/test/java/java8/ex02/Method_02_Test.java index 6251d4fd..96005830 100644 --- a/src/test/java/java8/ex02/Method_02_Test.java +++ b/src/test/java/java8/ex02/Method_02_Test.java @@ -48,6 +48,6 @@ public void test_daoA_format() throws Exception { // TODO invoquer la méthode format() pour que le test soit passant String result = null; - "DaoA[20 persons]".equals(result); + assert "DaoA[20 persons]".equals(result); } } From 279e93d6b2e45234e4e43a66470511927138d39f Mon Sep 17 00:00:00 2001 From: RichardBONNAMY Date: Wed, 30 Jun 2021 15:00:04 +0200 Subject: [PATCH 07/12] Modification de la version de Java --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 512f24fc..a695be81 100644 --- a/pom.xml +++ b/pom.xml @@ -18,8 +18,8 @@ maven-compiler-plugin - 1.8 - 1.8 + 1.11 + 1.11 From 41296d51de6625811d307af72b83f0e1912c9b8e Mon Sep 17 00:00:00 2001 From: rbonnamy Date: Tue, 14 Feb 2023 17:34:32 +0100 Subject: [PATCH 08/12] Modification de la version du langage --- src/test/java/{java8 => java17}/data/Account.java | 2 +- src/test/java/{java8 => java17}/data/Data.java | 2 +- src/test/java/{java8 => java17}/data/Person.java | 2 +- src/test/java/{java8 => java17}/ex01/Method_01_Test.java | 6 +++--- src/test/java/{java8 => java17}/ex02/Method_02_Test.java | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) rename src/test/java/{java8 => java17}/data/Account.java (94%) rename src/test/java/{java8 => java17}/data/Data.java (94%) rename src/test/java/{java8 => java17}/data/Person.java (97%) rename src/test/java/{java8 => java17}/ex01/Method_01_Test.java (94%) rename src/test/java/{java8 => java17}/ex02/Method_02_Test.java (94%) diff --git a/src/test/java/java8/data/Account.java b/src/test/java/java17/data/Account.java similarity index 94% rename from src/test/java/java8/data/Account.java rename to src/test/java/java17/data/Account.java index 3f8c3c14..6b770795 100644 --- a/src/test/java/java8/data/Account.java +++ b/src/test/java/java17/data/Account.java @@ -1,4 +1,4 @@ -package java8.data; +package java17.data; public class Account { diff --git a/src/test/java/java8/data/Data.java b/src/test/java/java17/data/Data.java similarity index 94% rename from src/test/java/java8/data/Data.java rename to src/test/java/java17/data/Data.java index 44c0dafb..64c25a2c 100644 --- a/src/test/java/java8/data/Data.java +++ b/src/test/java/java17/data/Data.java @@ -1,4 +1,4 @@ -package java8.data; +package java17.data; import java.util.List; diff --git a/src/test/java/java8/data/Person.java b/src/test/java/java17/data/Person.java similarity index 97% rename from src/test/java/java8/data/Person.java rename to src/test/java/java17/data/Person.java index da028d2f..2ddc7d8b 100644 --- a/src/test/java/java8/data/Person.java +++ b/src/test/java/java17/data/Person.java @@ -1,4 +1,4 @@ -package java8.data; +package java17.data; public class Person { diff --git a/src/test/java/java8/ex01/Method_01_Test.java b/src/test/java/java17/ex01/Method_01_Test.java similarity index 94% rename from src/test/java/java8/ex01/Method_01_Test.java rename to src/test/java/java17/ex01/Method_01_Test.java index 96326480..5dbe9d0a 100644 --- a/src/test/java/java8/ex01/Method_01_Test.java +++ b/src/test/java/java17/ex01/Method_01_Test.java @@ -1,11 +1,11 @@ -package java8.ex01; +package java17.ex01; import java.util.List; import org.junit.Test; -import java8.data.Data; -import java8.data.Person; +import java17.data.Data; +import java17.data.Person; /** diff --git a/src/test/java/java8/ex02/Method_02_Test.java b/src/test/java/java17/ex02/Method_02_Test.java similarity index 94% rename from src/test/java/java8/ex02/Method_02_Test.java rename to src/test/java/java17/ex02/Method_02_Test.java index 96005830..c4375d92 100644 --- a/src/test/java/java8/ex02/Method_02_Test.java +++ b/src/test/java/java17/ex02/Method_02_Test.java @@ -1,11 +1,11 @@ -package java8.ex02; +package java17.ex02; import java.util.List; import org.junit.Test; -import java8.data.Data; -import java8.data.Person; +import java17.data.Data; +import java17.data.Person; /** * Exercice 02 - Redéfinition From b391a7549ac20403280612191f798ce92b4438ad Mon Sep 17 00:00:00 2001 From: rbonnamy Date: Tue, 14 Feb 2023 17:40:26 +0100 Subject: [PATCH 09/12] Modification de la version du langage --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index a695be81..b20359bb 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 devinstitut - java-java8 + java-java17 1.0-SNAPSHOT @@ -18,8 +18,8 @@ maven-compiler-plugin - 1.11 - 1.11 + 1.17 + 1.17 From 1439a03398c7362ddad6f6f94a1af038c1dbaacb Mon Sep 17 00:00:00 2001 From: Abel Ciccoli Date: Thu, 29 Jun 2023 10:41:35 +0200 Subject: [PATCH 10/12] =?UTF-8?q?feat(m=C3=A9thode=20par=20d=C3=A9faut):?= =?UTF-8?q?=20=20=C3=A7a=20fonctionne?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/java17/ex01/Method_01_Test.java | 8 ++++++-- src/test/java/java17/ex02/Method_02_Test.java | 17 ++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/test/java/java17/ex01/Method_01_Test.java b/src/test/java/java17/ex01/Method_01_Test.java index 5dbe9d0a..01f2fd90 100644 --- a/src/test/java/java17/ex01/Method_01_Test.java +++ b/src/test/java/java17/ex01/Method_01_Test.java @@ -1,6 +1,7 @@ package java17.ex01; import java.util.List; +import java.util.stream.Collectors; import org.junit.Test; @@ -17,6 +18,9 @@ public class Method_01_Test { interface IDao { List findAll(); + default int sumAge(){ + return findAll().stream().map(Person::getAge).reduce(0, Integer::sum); + } // TODO créer une méthode int sumAge() // TODO Cette méthode retourne le résultat de l'addition des ages des personnes } @@ -48,7 +52,7 @@ public void test_daoA_sumAge() throws Exception { DaoA daoA = new DaoA(); // TODO invoquer la méthode sumAge pour que le test soit passant - int result = 0; + int result = daoA.sumAge(); assert result == 210; } @@ -59,7 +63,7 @@ public void test_daoB_sumAge() throws Exception { DaoB daoB = new DaoB(); // TODO invoquer la méthode sumAge pour que le test soit passant - int result = 0; + int result = daoB.sumAge(); assert result == 5050; diff --git a/src/test/java/java17/ex02/Method_02_Test.java b/src/test/java/java17/ex02/Method_02_Test.java index c4375d92..5abe28b6 100644 --- a/src/test/java/java17/ex02/Method_02_Test.java +++ b/src/test/java/java17/ex02/Method_02_Test.java @@ -16,9 +16,9 @@ public class Method_02_Test { interface IDao { List findAll(); - // TODO créer une méthode String format() - // TODO la méthode retourne une chaîne de la forme [ persons] - // TODO exemple de résultat : "[14 persons]", "[30 persons]" + default String format(){ + return String.format("[%s persons]", (long) findAll().size()); + } } // end::IDao[] @@ -32,11 +32,10 @@ public List findAll() { return people; } - // TODO redéfinir la méthode String format() - // TODO la méthode retourne une chaîne de la forme DaoA[ persons] - // TODO exemple de résultat : "DaoA[14 persons]", "DaoA[30 persons]" - // TODO l'implémentation réutilise la méthode format() de l'interface - + @Override + public String format(){ + return "DaoA" + IDao.super.format(); + } } // end::DaoA[] @@ -46,7 +45,7 @@ public void test_daoA_format() throws Exception { DaoA daoA = new DaoA(); // TODO invoquer la méthode format() pour que le test soit passant - String result = null; + String result = daoA.format(); assert "DaoA[20 persons]".equals(result); } From 482b9856b3b790698d1bd3c9db215e3c5b36fb99 Mon Sep 17 00:00:00 2001 From: Abel Ciccoli Date: Thu, 29 Jun 2023 10:44:52 +0200 Subject: [PATCH 11/12] feat(exercice): retour de l'eexercice --- src/test/java/java17/ex01/Method_01_Test.java | 8 ++------ src/test/java/java17/ex02/Method_02_Test.java | 17 +++++++++-------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/test/java/java17/ex01/Method_01_Test.java b/src/test/java/java17/ex01/Method_01_Test.java index 01f2fd90..5dbe9d0a 100644 --- a/src/test/java/java17/ex01/Method_01_Test.java +++ b/src/test/java/java17/ex01/Method_01_Test.java @@ -1,7 +1,6 @@ package java17.ex01; import java.util.List; -import java.util.stream.Collectors; import org.junit.Test; @@ -18,9 +17,6 @@ public class Method_01_Test { interface IDao { List findAll(); - default int sumAge(){ - return findAll().stream().map(Person::getAge).reduce(0, Integer::sum); - } // TODO créer une méthode int sumAge() // TODO Cette méthode retourne le résultat de l'addition des ages des personnes } @@ -52,7 +48,7 @@ public void test_daoA_sumAge() throws Exception { DaoA daoA = new DaoA(); // TODO invoquer la méthode sumAge pour que le test soit passant - int result = daoA.sumAge(); + int result = 0; assert result == 210; } @@ -63,7 +59,7 @@ public void test_daoB_sumAge() throws Exception { DaoB daoB = new DaoB(); // TODO invoquer la méthode sumAge pour que le test soit passant - int result = daoB.sumAge(); + int result = 0; assert result == 5050; diff --git a/src/test/java/java17/ex02/Method_02_Test.java b/src/test/java/java17/ex02/Method_02_Test.java index 5abe28b6..c4375d92 100644 --- a/src/test/java/java17/ex02/Method_02_Test.java +++ b/src/test/java/java17/ex02/Method_02_Test.java @@ -16,9 +16,9 @@ public class Method_02_Test { interface IDao { List findAll(); - default String format(){ - return String.format("[%s persons]", (long) findAll().size()); - } + // TODO créer une méthode String format() + // TODO la méthode retourne une chaîne de la forme [ persons] + // TODO exemple de résultat : "[14 persons]", "[30 persons]" } // end::IDao[] @@ -32,10 +32,11 @@ public List findAll() { return people; } - @Override - public String format(){ - return "DaoA" + IDao.super.format(); - } + // TODO redéfinir la méthode String format() + // TODO la méthode retourne une chaîne de la forme DaoA[ persons] + // TODO exemple de résultat : "DaoA[14 persons]", "DaoA[30 persons]" + // TODO l'implémentation réutilise la méthode format() de l'interface + } // end::DaoA[] @@ -45,7 +46,7 @@ public void test_daoA_format() throws Exception { DaoA daoA = new DaoA(); // TODO invoquer la méthode format() pour que le test soit passant - String result = daoA.format(); + String result = null; assert "DaoA[20 persons]".equals(result); } From 830a711a3378705acece334107cbbac274e4ec41 Mon Sep 17 00:00:00 2001 From: Sheerin Banu Date: Wed, 27 Nov 2024 15:08:59 +0100 Subject: [PATCH 12/12] Default method exo done --- src/test/java/java17/ex01/Method_01_Test.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/test/java/java17/ex01/Method_01_Test.java b/src/test/java/java17/ex01/Method_01_Test.java index 5dbe9d0a..0825e047 100644 --- a/src/test/java/java17/ex01/Method_01_Test.java +++ b/src/test/java/java17/ex01/Method_01_Test.java @@ -18,6 +18,7 @@ interface IDao { List findAll(); // TODO créer une méthode int sumAge() + int sumAge(); // TODO Cette méthode retourne le résultat de l'addition des ages des personnes } // end::IDao[] @@ -30,6 +31,15 @@ class DaoA implements IDao { public List findAll() { return people; } + + @Override + public int sumAge() { + int sum = 0; + for (Person p : people) { + sum += p.getAge(); + } + return sum; + } } class DaoB implements IDao { @@ -40,6 +50,15 @@ class DaoB implements IDao { public List findAll() { return people; } + + @Override + public int sumAge() { + int sum = 0; + for (Person p : people) { + sum += p.getAge(); + } + return sum; + } } @Test @@ -48,7 +67,7 @@ public void test_daoA_sumAge() throws Exception { DaoA daoA = new DaoA(); // TODO invoquer la méthode sumAge pour que le test soit passant - int result = 0; + int result = daoA.sumAge(); assert result == 210; } @@ -59,7 +78,8 @@ public void test_daoB_sumAge() throws Exception { DaoB daoB = new DaoB(); // TODO invoquer la méthode sumAge pour que le test soit passant - int result = 0; + int result = daoB.sumAge(); + assert result == 5050;