From 6f5c77ae7694d5ab14c6cfeab58f0708594fddb3 Mon Sep 17 00:00:00 2001 From: Malori ALVAREZ <malori.alvarez.etu@univ-lille.fr> Date: Mon, 28 Apr 2025 16:55:36 +0200 Subject: [PATCH] TP 5-7 --- .gitignore | 4 +- lib/tp07-res.jar | Bin 0 -> 4246 bytes src/tp4/UsePendingCaseQueue.java | 2 +- src/tp7/BidirectionalPhoneBookTest.java | 189 ++++++++++++++++++++++++ src/tp7/BreedingFarmTest.java | 164 ++++++++++++++++++++ src/tp7/DuckTest.java | 56 +++++++ src/tp7/GooseTest.java | 56 +++++++ src/tp7/HenTest.java | 56 +++++++ src/tp7/ProPhoneNumber.java | 24 +++ src/tp7/ProPhoneNumberTest.java | 73 +++++++++ src/tp7/UniversityDepartment.java | 34 +++++ 11 files changed, 655 insertions(+), 3 deletions(-) create mode 100644 lib/tp07-res.jar create mode 100644 src/tp7/BidirectionalPhoneBookTest.java create mode 100644 src/tp7/BreedingFarmTest.java create mode 100644 src/tp7/DuckTest.java create mode 100644 src/tp7/GooseTest.java create mode 100644 src/tp7/HenTest.java create mode 100644 src/tp7/ProPhoneNumber.java create mode 100644 src/tp7/ProPhoneNumberTest.java create mode 100644 src/tp7/UniversityDepartment.java diff --git a/.gitignore b/.gitignore index ce2251c..c96612d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,11 +2,11 @@ .class -#Fichiers +# Fichiers .jar .tar.gz -#Divers +# Divers .vscode /doc/* diff --git a/lib/tp07-res.jar b/lib/tp07-res.jar new file mode 100644 index 0000000000000000000000000000000000000000..6926c42ee68ba1e984e142fe33e8dd818aae5833 GIT binary patch literal 4246 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 Q6d4p50@)cD^f^I10JOk}6aWAK literal 0 HcmV?d00001 diff --git a/src/tp4/UsePendingCaseQueue.java b/src/tp4/UsePendingCaseQueue.java index 665a3bb..29aa0f5 100755 --- a/src/tp4/UsePendingCaseQueue.java +++ b/src/tp4/UsePendingCaseQueue.java @@ -1,5 +1,5 @@ package tp4; -import tpOO.tp04.PendingCase; +import tpOO.tp4.PendingCase; public class UsePendingCaseQueue { public static void main(String[] args) { diff --git a/src/tp7/BidirectionalPhoneBookTest.java b/src/tp7/BidirectionalPhoneBookTest.java new file mode 100644 index 0000000..fc2aad5 --- /dev/null +++ b/src/tp7/BidirectionalPhoneBookTest.java @@ -0,0 +1,189 @@ +package tpOO.tp07; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class BidirectionalPhoneBookTest { + public String s1, s2, s3; + public String name1, name2, name3; + public ProPhoneNumber ppn1, ppn2, ppn3, ppn4, ppn5; + public BidirectionalPhoneBook bpb1; + + @BeforeEach + void initialization() { + s1 = "1234"; + s2 = "1111"; + s3 = "2222"; + name1 = "alice"; + name2 = "bruno"; + name3 = "clément"; + ppn1 = new ProPhoneNumber(s1, UniversityDepartment.IUT); + ppn2 = new ProPhoneNumber(s1, UniversityDepartment.FST); + ppn3 = new ProPhoneNumber(s2, UniversityDepartment.IUT); + ppn4 = new ProPhoneNumber(s1, UniversityDepartment.IUT); + ppn5 = new ProPhoneNumber(s3, UniversityDepartment.IUT); + bpb1 = new BidirectionalPhoneBook(); + } + + @Test + void testAdd() { + assertEquals(0, bpb1.getNbEntries()); + assertTrue(bpb1.add(name1, UniversityDepartment.IUT, s1)); + assertEquals(1, bpb1.getNbEntries()); + assertFalse(bpb1.add(name1, UniversityDepartment.IUT, s1)); + assertEquals(1, bpb1.getNbEntries()); + assertFalse(bpb1.add(name2, UniversityDepartment.IUT, s1)); + assertEquals(1, bpb1.getNbEntries()); + assertFalse(bpb1.add(name1, UniversityDepartment.IUT, s2)); + assertEquals(1, bpb1.getNbEntries()); + assertTrue(bpb1.add(name2, UniversityDepartment.IUT, s2)); + assertEquals(2, bpb1.getNbEntries()); + } + + @Test + void testAlreadyRegistered() { + assertEquals(0, bpb1.getNbEntries()); + assertFalse(bpb1.alreadyRegistered(name1)); + assertFalse(bpb1.alreadyRegistered(UniversityDepartment.IUT.getDiallingCode()+s1)); + assertFalse(bpb1.alreadyRegistered(name2)); + assertFalse(bpb1.alreadyRegistered(UniversityDepartment.IUT.getDiallingCode()+s2)); + assertTrue(bpb1.add(name1, UniversityDepartment.IUT, s1)); + assertEquals(1, bpb1.getNbEntries()); + assertTrue(bpb1.alreadyRegistered(name1)); + assertTrue(bpb1.alreadyRegistered(UniversityDepartment.IUT.getDiallingCode()+s1)); + assertFalse(bpb1.alreadyRegistered(name2)); + assertFalse(bpb1.alreadyRegistered(UniversityDepartment.IUT.getDiallingCode()+s2)); + assertTrue(bpb1.add(name2, UniversityDepartment.IUT, s2)); + assertEquals(2, bpb1.getNbEntries()); + assertTrue(bpb1.alreadyRegistered(name1)); + assertTrue(bpb1.alreadyRegistered(UniversityDepartment.IUT.getDiallingCode()+s1)); + assertTrue(bpb1.alreadyRegistered(name2)); + assertTrue(bpb1.alreadyRegistered(UniversityDepartment.IUT.getDiallingCode()+s2)); + } + + @Test + void testGetProPhoneNumberFromName() { + assertEquals(0, bpb1.getNbEntries()); + assertNull(bpb1.getProPhoneNumberFromName(name1)); + assertNull(bpb1.getProPhoneNumberFromName(name2)); + assertTrue(bpb1.add(name1, UniversityDepartment.IUT, s1)); + assertEquals(1, bpb1.getNbEntries()); + assertEquals(ppn1, bpb1.getProPhoneNumberFromName(name1)); + assertNull(bpb1.getProPhoneNumberFromName(name2)); + assertTrue(bpb1.add(name2, UniversityDepartment.FST, s1)); + assertEquals(2, bpb1.getNbEntries()); + assertEquals(ppn1, bpb1.getProPhoneNumberFromName(name1)); + assertEquals(ppn2, bpb1.getProPhoneNumberFromName(name2)); + } + + @Test + void testGetNameFromFiveDigits() { + assertEquals(0, bpb1.getNbEntries()); + assertNull(bpb1.getNameFromFiveDigits(UniversityDepartment.IUT.getDiallingCode()+s1)); + assertNull(bpb1.getNameFromFiveDigits(UniversityDepartment.FST.getDiallingCode()+s1)); + assertTrue(bpb1.add(name1, UniversityDepartment.IUT, s1)); + assertEquals(1, bpb1.getNbEntries()); + assertEquals(name1, bpb1.getNameFromFiveDigits(UniversityDepartment.IUT.getDiallingCode()+s1)); + assertNull(bpb1.getNameFromFiveDigits(UniversityDepartment.FST.getDiallingCode()+s1)); + assertTrue(bpb1.add(name2, UniversityDepartment.FST, s1)); + assertEquals(2, bpb1.getNbEntries()); + assertEquals(name1, bpb1.getNameFromFiveDigits(UniversityDepartment.IUT.getDiallingCode()+s1)); + assertEquals(name2, bpb1.getNameFromFiveDigits(UniversityDepartment.FST.getDiallingCode()+s1)); + } + + @Test + void testListing() { + String resultIUT = UniversityDepartment.IUT.getLabelLong() + System.getProperty("line.separator"); + String resultFST = UniversityDepartment.FST.getLabelLong() + System.getProperty("line.separator"); + String resultFH = UniversityDepartment.FH.getLabelLong() + System.getProperty("line.separator"); + assertEquals(0, bpb1.getNbEntries()); + assertEquals(resultIUT, bpb1.listing(UniversityDepartment.IUT)); + assertEquals(resultFST, bpb1.listing(UniversityDepartment.FST)); + assertEquals(resultFH, bpb1.listing(UniversityDepartment.FH)); + assertTrue(bpb1.add(name1, UniversityDepartment.IUT, s1)); + resultIUT += name1 + ":" + ppn1.internToString() + System.getProperty("line.separator"); + assertEquals(1, bpb1.getNbEntries()); + assertEquals(resultIUT, bpb1.listing(UniversityDepartment.IUT)); + assertEquals(resultFST, bpb1.listing(UniversityDepartment.FST)); + assertEquals(resultFH, bpb1.listing(UniversityDepartment.FH)); + assertTrue(bpb1.add(name2, UniversityDepartment.FST, s1)); + resultFST += name2 + ":" + ppn2.internToString() + System.getProperty("line.separator"); + assertEquals(2, bpb1.getNbEntries()); + assertEquals(resultIUT, bpb1.listing(UniversityDepartment.IUT)); + assertEquals(resultFST, bpb1.listing(UniversityDepartment.FST)); + assertEquals(resultFH, bpb1.listing(UniversityDepartment.FH)); + assertTrue(bpb1.add(name3, UniversityDepartment.IUT, s3)); + resultIUT = UniversityDepartment.IUT.getLabelLong() + System.getProperty("line.separator")+ name3 + ":" + ppn5.internToString() + System.getProperty("line.separator") + name1 + ":" + ppn1.internToString() + System.getProperty("line.separator"); + assertEquals(3, bpb1.getNbEntries()); + assertEquals(resultIUT, bpb1.listing(UniversityDepartment.IUT)); + assertEquals(resultFST, bpb1.listing(UniversityDepartment.FST)); + assertEquals(resultFH, bpb1.listing(UniversityDepartment.FH)); + } + + @Test + void testListing2() { + // empty listing + String result = ""; + for(int i=0; i<UniversityDepartment.values().length; i++) { + UniversityDepartment ud = UniversityDepartment.values()[i]; + result += ud.getLabelLong() + System.getProperty("line.separator"); + } + assertEquals(0, bpb1.getNbEntries()); + assertEquals(result, bpb1.listing()); + // first addition (IUT) + assertTrue(bpb1.add(name1, UniversityDepartment.IUT, s1)); + {result = ""; + for(int i=0; i<UniversityDepartment.IUT.ordinal(); i++) { + UniversityDepartment ud = UniversityDepartment.values()[i]; + result += ud.getLabelLong() + System.getProperty("line.separator"); + } + result += UniversityDepartment.IUT.getLabelLong() + System.getProperty("line.separator"); + result += name1 + ":" + ppn1.internToString() + System.getProperty("line.separator"); + for(int i=UniversityDepartment.IUT.ordinal()+1; i<UniversityDepartment.values().length; i++) { + UniversityDepartment ud = UniversityDepartment.values()[i]; + result += ud.getLabelLong() + System.getProperty("line.separator"); + }} + assertEquals(1, bpb1.getNbEntries()); + assertEquals(result, bpb1.listing()); + // second addition (FST) + assertTrue(bpb1.add(name2, UniversityDepartment.FST, s1)); + {result = ""; + for(int i=0; i<UniversityDepartment.FST.ordinal(); i++) { + UniversityDepartment ud = UniversityDepartment.values()[i]; + result += ud.getLabelLong() + System.getProperty("line.separator"); + } + result += UniversityDepartment.FST.getLabelLong() + System.getProperty("line.separator"); + result += name2 + ":" + ppn2.internToString() + System.getProperty("line.separator"); + result += UniversityDepartment.IUT.getLabelLong() + System.getProperty("line.separator"); + result += name1 + ":" + ppn1.internToString() + System.getProperty("line.separator"); + for(int i=UniversityDepartment.IUT.ordinal()+1; i<UniversityDepartment.values().length; i++) { + UniversityDepartment ud = UniversityDepartment.values()[i]; + result += ud.getLabelLong() + System.getProperty("line.separator"); + }} + assertEquals(2, bpb1.getNbEntries()); + assertEquals(result, bpb1.listing()); + // third addition (IUT) + assertTrue(bpb1.add(name3, UniversityDepartment.IUT, s3)); + {result = ""; + for(int i=0; i<UniversityDepartment.FST.ordinal(); i++) { + UniversityDepartment ud = UniversityDepartment.values()[i]; + result += ud.getLabelLong() + System.getProperty("line.separator"); + } + result += UniversityDepartment.FST.getLabelLong() + System.getProperty("line.separator"); + result += name2 + ":" + ppn2.internToString() + System.getProperty("line.separator"); + result += UniversityDepartment.IUT.getLabelLong() + System.getProperty("line.separator"); + result += name3 + ":" + ppn5.internToString() + System.getProperty("line.separator"); + result += name1 + ":" + ppn1.internToString() + System.getProperty("line.separator"); + for(int i=UniversityDepartment.IUT.ordinal()+1; i<UniversityDepartment.values().length; i++) { + UniversityDepartment ud = UniversityDepartment.values()[i]; + result += ud.getLabelLong() + System.getProperty("line.separator"); + }} + assertEquals(3, bpb1.getNbEntries()); + assertEquals(result, bpb1.listing()); + } +} diff --git a/src/tp7/BreedingFarmTest.java b/src/tp7/BreedingFarmTest.java new file mode 100644 index 0000000..49f8df8 --- /dev/null +++ b/src/tp7/BreedingFarmTest.java @@ -0,0 +1,164 @@ +package tpOO.tp07; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class BreedingFarmTest { + int id1, id2, id3, id4, id5, id6, size1; + double w1, w2, w3; + Duck d1, d2; + Hen h1, h2; + Goose g1, g2; + BreedingFarm bf1, bf2; + + @BeforeEach + void testInitialization() { + id1=1; id2=2; id3=10; id4=20; id5=100; id6=200; + size1=3; + w1=3.0; w2=6.0; w3=15.0; + d1 = new Duck(id1, w1); + d2 = new Duck(id2, w2); + h1 = new Hen(id3, w1); + h2 = new Hen(id4, w2); + g1 = new Goose(id5, w2); + g2 = new Goose(id6, w3); + bf1 = new BreedingFarm(size1); + bf2 = new BreedingFarm(); + } + + @Test + void testAdd() { + // bf1 --> élevage taille max = size1 + // bf2 --> élevage taille max par défaut + assertEquals(0, bf1.getFarmSize()); + assertEquals(0, bf2.getFarmSize()); + bf1.add(d1); bf2.add(d1); + assertEquals(1, bf1.getFarmSize()); + assertEquals(1, bf2.getFarmSize()); + bf1.add(h1); bf2.add(h1); + assertEquals(2, bf1.getFarmSize()); + assertEquals(2, bf2.getFarmSize()); + bf1.add(g1); bf2.add(g1); + assertEquals(3, bf1.getFarmSize()); + assertEquals(3, bf2.getFarmSize()); + bf1.add(d2); bf2.add(d2); + assertEquals(3, bf1.getFarmSize()); + assertEquals(4, bf2.getFarmSize()); + } + + @Test + void testGetNbDuck() { + assertEquals(0, bf1.getNbDuck()); + bf1.add(d1); + assertEquals(1, bf1.getFarmSize()); + assertEquals(1, bf1.getNbDuck()); + bf1.add(h1); + assertEquals(2, bf1.getFarmSize()); + assertEquals(1, bf1.getNbDuck()); + bf1.add(d2); + assertEquals(3, bf1.getFarmSize()); + assertEquals(2, bf1.getNbDuck()); + } + + @Test + void testSearch() { + bf1.add(d1); bf1.add(h1); bf1.add(g1); + assertEquals(3, bf1.getFarmSize()); + assertSame(d1, bf1.search(id1)); + assertNull(bf1.search(id2)); + assertSame(h1, bf1.search(id3)); + assertNull(bf1.search(id4)); + assertSame(g1, bf1.search(id5)); + assertNull(bf1.search(id6)); + } + + @Test + void testGetDuck() { + bf1.add(d1); bf1.add(h1); bf1.add(d2); + assertEquals(3, bf1.getFarmSize()); + assertEquals(2, bf1.getNbDuck()); + assertSame(d1, bf1.getDuck(1)); + assertSame(d2, bf1.getDuck(2)); + assertNull(bf1.getDuck(3)); + } + + @Test + void testUpdateWeight() { + bf1.add(d1); bf1.add(h1); bf1.add(g1); + assertEquals(3, bf1.getFarmSize()); + assertEquals(w1, d1.getWeight()); + bf1.updateWeight(id1, w2); + assertEquals(w2, d1.getWeight()); + } + + @Test + void testIsFatEnough() { + assertFalse(d1.isFatEnough()); + assertTrue(d2.isFatEnough()); + assertFalse(h1.isFatEnough()); + assertTrue(h2.isFatEnough()); + assertFalse(g1.isFatEnough()); + assertTrue(g2.isFatEnough()); + } + + @Test + void testPotentialProfit() { + double profit = 0.0; + assertEquals(0, bf2.getFarmSize()); + assertEquals(profit, bf2.potentialProfit()); + bf2.add(d1); // too thin + assertEquals(1, bf2.getFarmSize()); + assertEquals(profit, bf2.potentialProfit()); + bf2.add(d2); // can be slaughtered + profit += d2.getWeight() * d2.getPriceKg(); + assertEquals(2, bf2.getFarmSize()); + assertEquals(profit, bf2.potentialProfit()); + bf2.add(h1); // too thin + assertEquals(3, bf2.getFarmSize()); + assertEquals(profit, bf2.potentialProfit()); + bf2.add(h2); // can be slaughtered + profit += h2.getWeight() * h2.getPriceKg(); + assertEquals(4, bf2.getFarmSize()); + assertEquals(profit, bf2.potentialProfit()); + bf2.add(g1); // too thin + assertEquals(5, bf2.getFarmSize()); + assertEquals(profit, bf2.potentialProfit()); + bf2.add(g2); // can be slaughtered + profit += g2.getWeight() * g2.getPriceKg(); + assertEquals(6, bf2.getFarmSize()); + assertEquals(profit, bf2.potentialProfit()); + } + + @Test + void testSlaughtering() { + List<Poultry> toSlaughter = new ArrayList<Poultry>(); + bf2.add(d1); bf2.add(h1); + assertEquals(2, bf2.getFarmSize()); + toSlaughter = bf2.slaughtering(); + assertEquals(2, bf2.getFarmSize()); + assertEquals(0, toSlaughter.size()); + bf2.add(d2); + assertEquals(3, bf2.getFarmSize()); + toSlaughter = bf2.slaughtering(); + assertEquals(2, bf2.getFarmSize()); + assertEquals(1, toSlaughter.size()); + assertEquals(d2, toSlaughter.get(0)); + bf2.add(d2); bf2.add(h2); + assertEquals(4, bf2.getFarmSize()); + toSlaughter = bf2.slaughtering(); + assertEquals(2, bf2.getFarmSize()); + assertEquals(2, toSlaughter.size()); + assertEquals(d2, toSlaughter.get(0)); + assertEquals(h2, toSlaughter.get(1)); + } + +} diff --git a/src/tp7/DuckTest.java b/src/tp7/DuckTest.java new file mode 100644 index 0000000..4b8dbb1 --- /dev/null +++ b/src/tp7/DuckTest.java @@ -0,0 +1,56 @@ +package tpOO.tp07; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class DuckTest { + public int id1, id2, id3; + public double w1, w2, w3; + public Duck d1, d2, d3; + + @BeforeEach + void testInitialization() { + id1=10; id2=20; id3=30; + w1=1.0; w2=2.0; w3=3.0; + d1 = new Duck(id1, w1); + d2 = new Duck(id2, w2); + d3 = new Duck(id3, w3); + } + + @Test + void testGetIdentity() { + assertEquals(id1, d1.getIdentity()); + assertEquals(id2, d2.getIdentity()); + assertEquals(id3, d3.getIdentity()); + } + + @Test + void testSetIdentity() { + assertEquals(id1, d1.getIdentity()); + d1.setIdentity(id2); + assertEquals(id2, d1.getIdentity()); + } + + @Test + void testGetWeight() { + assertEquals(w1, d1.getWeight()); + assertEquals(w2, d2.getWeight()); + assertEquals(w3, d3.getWeight()); + } + + @Test + void testSetWeight() { + assertEquals(w1, d1.getWeight()); + d1.setWeight(w2); + assertEquals(w2, d1.getWeight()); + } + + @Test + void testGetPrice() { + assertEquals(w1*d1.getPriceKg(), d1.getPrice()); + assertEquals(w2*d2.getPriceKg(), d2.getPrice()); + assertEquals(w3*d3.getPriceKg(), d3.getPrice()); + } +} diff --git a/src/tp7/GooseTest.java b/src/tp7/GooseTest.java new file mode 100644 index 0000000..1ee4b04 --- /dev/null +++ b/src/tp7/GooseTest.java @@ -0,0 +1,56 @@ +package tpOO.tp07; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class GooseTest { + public int id1, id2, id3; + public double w1, w2, w3; + public Goose g1, g2, g3; + + @BeforeEach + void testInitialization() { + id1=10; id2=20; id3=30; + w1=1.0; w2=2.0; w3=3.0; + g1 = new Goose(id1, w1); + g2 = new Goose(id2, w2); + g3 = new Goose(id3, w3); + } + + @Test + void testGetIdentity() { + assertEquals(id1, g1.getIdentity()); + assertEquals(id2, g2.getIdentity()); + assertEquals(id3, g3.getIdentity()); + } + + @Test + void testSetIdentity() { + assertEquals(id1, g1.getIdentity()); + g1.setIdentity(id2); + assertEquals(id2, g1.getIdentity()); + } + + @Test + void testGetWeight() { + assertEquals(w1, g1.getWeight()); + assertEquals(w2, g2.getWeight()); + assertEquals(w3, g3.getWeight()); + } + + @Test + void testSetWeight() { + assertEquals(w1, g1.getWeight()); + g1.setWeight(w2); + assertEquals(w2, g1.getWeight()); + } + + @Test + void testGetPrice() { + assertEquals(w1*g1.getPriceKg(), g1.getPrice()); + assertEquals(w2*g2.getPriceKg(), g2.getPrice()); + assertEquals(w3*g3.getPriceKg(), g3.getPrice()); + } +} diff --git a/src/tp7/HenTest.java b/src/tp7/HenTest.java new file mode 100644 index 0000000..29d883c --- /dev/null +++ b/src/tp7/HenTest.java @@ -0,0 +1,56 @@ +package tpOO.tp07; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class HenTest { + public int id1, id2, id3; + public double w1, w2, w3; + public Hen h1, h2, h3; + + @BeforeEach + void testInitialization() { + id1=10; id2=20; id3=30; + w1=1.0; w2=2.0; w3=3.0; + h1 = new Hen(id1, w1); + h2 = new Hen(id2, w2); + h3 = new Hen(id3, w3); + } + + @Test + void testGetIdentity() { + assertEquals(id1, h1.getIdentity()); + assertEquals(id2, h2.getIdentity()); + assertEquals(id3, h3.getIdentity()); + } + + @Test + void testSetIdentity() { + assertEquals(id1, h1.getIdentity()); + h1.setIdentity(id2); + assertEquals(id2, h1.getIdentity()); + } + + @Test + void testGetWeight() { + assertEquals(w1, h1.getWeight()); + assertEquals(w2, h2.getWeight()); + assertEquals(w3, h3.getWeight()); + } + + @Test + void testSetWeight() { + assertEquals(w1, h1.getWeight()); + h1.setWeight(w2); + assertEquals(w2, h1.getWeight()); + } + + @Test + void testGetPrice() { + assertEquals(w1*h1.getPriceKg(), h1.getPrice()); + assertEquals(w2*h2.getPriceKg(), h2.getPrice()); + assertEquals(w3*h3.getPriceKg(), h3.getPrice()); + } +} diff --git a/src/tp7/ProPhoneNumber.java b/src/tp7/ProPhoneNumber.java new file mode 100644 index 0000000..48a9201 --- /dev/null +++ b/src/tp7/ProPhoneNumber.java @@ -0,0 +1,24 @@ +package tp7; +import td00.td01.*; + +public class ProPhoneNumber{ + private UniversityDepartment dept; + private PhoneNumber numbers; + + public ProPhoneNumber(String n, UniversityDepartment d){ + this.numbers = new PhoneNumber(33,3,20,dept.getDiallingCode(), Integer.valueOf(n.substring(n.length()-4,n.length()-2)), Integer.valueOf(n.substring(n.length()-2))); + this.dept = d; + } + + public UniversityDepartment getDepartment(){ + return dept; + } + + public String internToString(){ + return + numbers + "(" + dept + ")"; + } + + public String externToString(){ + return numbers + "(" + dept + ")"; + } +} diff --git a/src/tp7/ProPhoneNumberTest.java b/src/tp7/ProPhoneNumberTest.java new file mode 100644 index 0000000..18bc73c --- /dev/null +++ b/src/tp7/ProPhoneNumberTest.java @@ -0,0 +1,73 @@ +package tpOO.tp07; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class ProPhoneNumberTest { + public String s1, s2; + public ProPhoneNumber un, deux, trois, quatre; + + @BeforeEach + void initialization() { + s1 = "1234"; + s2 = "1111"; + un = new ProPhoneNumber(s1, UniversityDepartment.IUT); + deux = new ProPhoneNumber(s1, UniversityDepartment.FST); + trois = new ProPhoneNumber(s2, UniversityDepartment.IUT); + quatre = new ProPhoneNumber(s1, UniversityDepartment.IUT); + } + + @Test + void testEquals() { + assertTrue(un.equals(un)); + assertFalse(un.equals(deux)); + assertFalse(un.equals(trois)); + assertTrue(un.equals(quatre)); + assertFalse(deux.equals(trois)); + assertFalse(deux.equals(quatre)); + } + + @Test + void testEquals2() { + assertTrue(un.equals(s1)); + assertFalse(un.equals(s2)); + assertTrue(deux.equals(s1)); + assertFalse(deux.equals(s2)); + } + + @Test + void testInternToString() { + String res = "31234(" + UniversityDepartment.IUT.getLabelShort() + ")"; + assertEquals(res, un.internToString()); + res = "21234(" + UniversityDepartment.FST.getLabelShort() + ")"; + assertEquals(res, deux.internToString()); + res = "31111(" + UniversityDepartment.IUT.getLabelShort() + ")"; + assertEquals(res, trois.internToString()); + res = "31234(" + UniversityDepartment.IUT.getLabelShort() + ")"; + assertEquals(res, quatre.internToString()); + } + + @Test + void testExternToString() { + String res = "+33.3.20.03.12.34 (" + UniversityDepartment.IUT.getLabelLong() + ")"; + assertEquals(res, un.externToString()); + res = "+33.3.20.02.12.34 (" + UniversityDepartment.FST.getLabelLong() + ")"; + assertEquals(res, deux.externToString()); + res = "+33.3.20.03.11.11 (" + UniversityDepartment.IUT.getLabelLong() + ")"; + assertEquals(res, trois.externToString()); + res = "+33.3.20.03.12.34 (" + UniversityDepartment.IUT.getLabelLong() + ")"; + assertEquals(res, quatre.externToString()); + } + + @Test + void testGetDepartment() { + assertEquals(UniversityDepartment.IUT, un.getDepartment()); + assertEquals(UniversityDepartment.FST, deux.getDepartment()); + assertEquals(UniversityDepartment.IUT, trois.getDepartment()); + assertEquals(UniversityDepartment.IUT, quatre.getDepartment()); + } +} diff --git a/src/tp7/UniversityDepartment.java b/src/tp7/UniversityDepartment.java new file mode 100644 index 0000000..5d15252 --- /dev/null +++ b/src/tp7/UniversityDepartment.java @@ -0,0 +1,34 @@ +package tp7; // à adapter éventuellement selon la structure de votre projet + +public enum UniversityDepartment { + F3S(1,"Faculté des Sciences de Santé et du Sport"), + FST(2,"Faculté des Sciences et Technologies"), + IUT(3,"Institut Universitaire de Technologies"), + FSJPS(4,"Faculté des Sciences Juridiques, Politiques et Sociales"), + FSEST(5,"Faculté des Sciences Économiques, Sociales et des Territoires"), + FH(6,"Faculté des Humanités"), + FLCS(7,"Faculté des Langues, Cultures et Sociétés"), + FPSEF(8,"Faculté de Psychologie, Sciences de l’Education et de la Formation"); + + private String departement; + private int composante; + + private UniversityDepartment (int c, String d){ + this.composante=c; + this.departement=d; + } + + public String getLabelShort(){ + return this.name(); + } + + public String getLabelLong(){ + return this.departement; + } + + public int getDiallingCode(){ + return this.composante; + } + + +} -- GitLab