From 3c47acf0269b619ee433430fd5ceda177dfe2234 Mon Sep 17 00:00:00 2001 From: Dasiame Date: Fri, 1 Nov 2024 17:03:36 +0000 Subject: [PATCH 1/3] feat:Adds Dasia's SmartPhone Object and Test to Lesson_16 --- .../BatteryPercentageCustomException.java | 5 ++ .../lesson16/SmartPhone/Name.java | 7 ++ .../lesson16/SmartPhone/SmartPhone.java | 72 ++++++++++++++++ .../lesson16/SmartPhoneTest.java | 84 +++++++++++++++++++ 4 files changed, 168 insertions(+) create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/Name.java create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java create mode 100644 lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java new file mode 100644 index 000000000..510f7ef50 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java @@ -0,0 +1,5 @@ +public class BatteryPercentageCustomException extends Exception{ + public BatteryPercentageCustomException (String message){ + super (message); + } + } diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/Name.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/Name.java new file mode 100644 index 000000000..4fe3e44c3 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/Name.java @@ -0,0 +1,7 @@ +package com.codedifferently.lesson16.SmartPhone; + +public enum Name { + APPLE, + SAMSUNG, + ANDROID +} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java new file mode 100644 index 000000000..9c0598781 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java @@ -0,0 +1,72 @@ +package com.codedifferently.lesson16.SmartPhone; + +import java.util.ArrayList; + +public class SmartPhone { + + private Name brandName; + private String model; + private int batteryPercentage; + private boolean power; + private ArrayList apps; + + public SmartPhone( + Name brandName, String model, int batteryPercentage, boolean power, ArrayList apps) { + this.brandName = brandName; + this.batteryPercentage = batteryPercentage; + this.power = power; + this.apps = apps; + } + + public void setSmartPhonePowerbattery(int currentBatteryPercentage) { + if (currentBatteryPercentage < 0 || currentBatteryPercentage > 100) { + throw new IllegalArgumentException("Battery percentage must be in between 0 and 100."); + } + this.batteryPercentage = currentBatteryPercentage; + } + + public int getBatteryPercentage() { + return batteryPercentage; + } + + public void setSmartPhoneBatteryIncrease(int chargeBatteryAmount) { + // loop + } + + public void chargeSmartPhone() {} + + public void setSmartPhonePower() {} + + public void setSmartPhoneBatteryPercentage(int currentBatteryPercentage) { + if (currentBatteryPercentage < 0 || currentBatteryPercentage > 100) { + throw new IllegalArgumentException("Battery percentage must be in between 0 and 100."); + } + this.batteryPercentage = currentBatteryPercentage; + } + + public void addSmartPhoneApps(String App) {} + + public String getSmartPhoneApps() { + var smartPhoneApps = ""; + for (String s : apps) { + smartPhoneApps += s; + } + return smartPhoneApps; + } + + public void removeSmartPhoneApps(String App) { + apps.remove(App); + } + + public void currentSmartPhoneVolume() {} + + public void addSmartPhoneVolume() {} + + public int getSmartPhoneVolume() { + return 5; + } + + public boolean isPowerOn() { + return true; + } +} diff --git a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java new file mode 100644 index 000000000..4159f5d4f --- /dev/null +++ b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java @@ -0,0 +1,84 @@ +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.codedifferently.lesson16.SmartPhone.Name; +import com.codedifferently.lesson16.SmartPhone.SmartPhone; +import java.util.ArrayList; +import java.util.Arrays; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class SmartPhoneTest { + private SmartPhone smartPhone; + + @BeforeEach + void BeforeTest() { + smartPhone = + new SmartPhone( + Name.APPLE, + "Iphone14", + 50, + true, + new ArrayList<>(Arrays.asList("Phone,Contacts,Photos,Settings,Calender"))); + // Turn phone on + } + + @Test + void testSmartPhoneCharge() { + // Arrange + + // Act + smartPhone.chargeSmartPhone(); // Method with a loop to increase the battery percentage + // Assert + assertEquals(smartPhone.getBatteryPercentage(), 50); + } + + @Test + void testSmartPhoneApps() { + // Arrange + var smartPhoneApps = "Instagram"; + // Act + smartPhone.addSmartPhoneApps("Instagram"); // Method Add an app to my phone + // Assert + assertEquals(smartPhone.getSmartPhoneApps(), "Phone,Contacts,Photos,Settings,Calender"); + } + + @Test + void testSmartPhoneRemoveApps() { + // Arrange + smartPhone.addSmartPhoneApps("Instagram"); + // Act + smartPhone.removeSmartPhoneApps("Instagram"); // Method that removes the app from my phone + // Assert + assertEquals( + smartPhone.getSmartPhoneApps(), + "Phone,Contacts,Photos,Settings,Calender"); // Method that gets the apps on my phone + } + + @Test + void testSmartPhoneVolume() { + // Arrange + var smartPhoneOldVolume = 2; + smartPhone.getSmartPhoneVolume(); // Method current/Old Volume of phone + + // Act + smartPhone.addSmartPhoneVolume(); // Method add Volume to smart phone + + // Assert + assertNotEquals(smartPhone.getSmartPhoneVolume(), smartPhoneOldVolume); + } + + private void getSmartPhonePercentage() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Test + void testSmartPhonePowerStatus() { + // Act + boolean isPhoneOn = smartPhone.isPowerOn(); // Method to check if the phone is on + + // Assert + assertTrue(isPhoneOn); // Checks that the phone is indeed on + } +} From ac08b37bec96c2ac3260e7a76b3a3f120f9b9b94 Mon Sep 17 00:00:00 2001 From: Dasiame Date: Sat, 2 Nov 2024 23:53:42 +0000 Subject: [PATCH 2/3] fix: deleted methods that I was not using in my test --- .../lesson16/SmartPhone/SmartPhone.java | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java index 9c0598781..45e418c3d 100644 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java @@ -29,14 +29,6 @@ public int getBatteryPercentage() { return batteryPercentage; } - public void setSmartPhoneBatteryIncrease(int chargeBatteryAmount) { - // loop - } - - public void chargeSmartPhone() {} - - public void setSmartPhonePower() {} - public void setSmartPhoneBatteryPercentage(int currentBatteryPercentage) { if (currentBatteryPercentage < 0 || currentBatteryPercentage > 100) { throw new IllegalArgumentException("Battery percentage must be in between 0 and 100."); @@ -44,8 +36,6 @@ public void setSmartPhoneBatteryPercentage(int currentBatteryPercentage) { this.batteryPercentage = currentBatteryPercentage; } - public void addSmartPhoneApps(String App) {} - public String getSmartPhoneApps() { var smartPhoneApps = ""; for (String s : apps) { @@ -58,10 +48,6 @@ public void removeSmartPhoneApps(String App) { apps.remove(App); } - public void currentSmartPhoneVolume() {} - - public void addSmartPhoneVolume() {} - public int getSmartPhoneVolume() { return 5; } From 57e371b313f6314a33b5531d211c58a981fc156d Mon Sep 17 00:00:00 2001 From: Dasiame Date: Sun, 3 Nov 2024 00:31:19 +0000 Subject: [PATCH 3/3] fix: test that I was not using --- .../BatteryPercentageCustomException.java | 8 ++++---- .../lesson16/SmartPhone/SmartPhone.java | 17 ++++++++++------- .../lesson16/SmartPhoneTest.java | 17 ++++++++--------- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java index 510f7ef50..4a5441517 100644 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/BatteryPercentageCustomException.java @@ -1,5 +1,5 @@ -public class BatteryPercentageCustomException extends Exception{ - public BatteryPercentageCustomException (String message){ - super (message); - } +public class BatteryPercentageCustomException extends Exception { + public BatteryPercentageCustomException(String message) { + super(message); } +} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java index 45e418c3d..9fa64d7fe 100644 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/SmartPhone/SmartPhone.java @@ -9,6 +9,7 @@ public class SmartPhone { private int batteryPercentage; private boolean power; private ArrayList apps; + private int volume; public SmartPhone( Name brandName, String model, int batteryPercentage, boolean power, ArrayList apps) { @@ -16,6 +17,7 @@ public SmartPhone( this.batteryPercentage = batteryPercentage; this.power = power; this.apps = apps; + this.volume = volume; } public void setSmartPhonePowerbattery(int currentBatteryPercentage) { @@ -29,13 +31,6 @@ public int getBatteryPercentage() { return batteryPercentage; } - public void setSmartPhoneBatteryPercentage(int currentBatteryPercentage) { - if (currentBatteryPercentage < 0 || currentBatteryPercentage > 100) { - throw new IllegalArgumentException("Battery percentage must be in between 0 and 100."); - } - this.batteryPercentage = currentBatteryPercentage; - } - public String getSmartPhoneApps() { var smartPhoneApps = ""; for (String s : apps) { @@ -55,4 +50,12 @@ public int getSmartPhoneVolume() { public boolean isPowerOn() { return true; } + + public void addSmartPhoneApps(String instagram) { + apps.add("," + instagram); + } + + public void addSmartPhoneVolume() { + volume++; + } } diff --git a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java index 4159f5d4f..106b72438 100644 --- a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java +++ b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/SmartPhoneTest.java @@ -20,7 +20,8 @@ void BeforeTest() { "Iphone14", 50, true, - new ArrayList<>(Arrays.asList("Phone,Contacts,Photos,Settings,Calender"))); + new ArrayList<>( + Arrays.asList("Phone,", "Contacts,", "Photos,", "Settings,", "Calender"))); // Turn phone on } @@ -29,9 +30,10 @@ void testSmartPhoneCharge() { // Arrange // Act - smartPhone.chargeSmartPhone(); // Method with a loop to increase the battery percentage + smartPhone.setSmartPhonePowerbattery( + 55); // Method with a loop to increase the battery percentage // Assert - assertEquals(smartPhone.getBatteryPercentage(), 50); + assertEquals(smartPhone.getBatteryPercentage(), 55); } @Test @@ -41,7 +43,8 @@ void testSmartPhoneApps() { // Act smartPhone.addSmartPhoneApps("Instagram"); // Method Add an app to my phone // Assert - assertEquals(smartPhone.getSmartPhoneApps(), "Phone,Contacts,Photos,Settings,Calender"); + assertEquals( + smartPhone.getSmartPhoneApps(), "Phone,Contacts,Photos,Settings,Calender,Instagram"); } @Test @@ -49,7 +52,7 @@ void testSmartPhoneRemoveApps() { // Arrange smartPhone.addSmartPhoneApps("Instagram"); // Act - smartPhone.removeSmartPhoneApps("Instagram"); // Method that removes the app from my phone + smartPhone.removeSmartPhoneApps(",Instagram"); // Method that removes the app from my phone // Assert assertEquals( smartPhone.getSmartPhoneApps(), @@ -69,10 +72,6 @@ void testSmartPhoneVolume() { assertNotEquals(smartPhone.getSmartPhoneVolume(), smartPhoneOldVolume); } - private void getSmartPhonePercentage() { - throw new UnsupportedOperationException("Not supported yet."); - } - @Test void testSmartPhonePowerStatus() { // Act