From d461a717d9d9967566af26f44f0946e3655440f5 Mon Sep 17 00:00:00 2001 From: Elena Balyberdina Date: Thu, 14 Jul 2022 15:25:20 +0300 Subject: [PATCH 1/5] task_1 --- src/test/java/WithProblemsTests.java | 42 +++++++++++++++++----------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/src/test/java/WithProblemsTests.java b/src/test/java/WithProblemsTests.java index 124dad1..c09a261 100644 --- a/src/test/java/WithProblemsTests.java +++ b/src/test/java/WithProblemsTests.java @@ -1,54 +1,62 @@ -import java.util.List; - +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; public class WithProblemsTests { - private final String CONST = "const"; private final static String bd = "pui"; @Test - public void equalsOneToOne(){ + public void equalsOneToOne() { assertEquals("1", "1"); + } @Test - public void assignValueToConstVar(){ - CONST = "newValue"; + public void assignValueToConstVar() { + String CONST = "newValue"; assertEquals("newValue", CONST); + } - @Test - public static void equalsOneToOne(){ + @BeforeAll + public static void equalsStaticOneToOne() { + assertEquals(1, 1); - } + } @Test - public void stringsMustBeEquals(){ + public void stringsMustBeEquals() { String res = "a"; - if (bd == new String("pui")) { + if (bd.equals(new String("pui"))) { res = "asd"; } assertEquals("asd", res); + } @Test - public void successfullyRemovingFirstElementFromList(){ - List sourceData = List.of("1", "viskas", "chupocabra"); - for (String element: sourceData){ - sourceData.remove(element); + public void successfullyRemovingFirstElementFromList() { + List sourceData = new ArrayList<>(List.of("1", "viskas", "chupocabra")); + Iterator dataIterator = sourceData.iterator(); + while (dataIterator.hasNext()) { + System.out.println(dataIterator.next()); + dataIterator.remove(); } + assertFalse(sourceData.contains("1")); - } + } } From e29f0048d50da8fabbe26c3a1281e1cdc5137e4b Mon Sep 17 00:00:00 2001 From: Elena Balyberdina Date: Thu, 14 Jul 2022 16:09:27 +0300 Subject: [PATCH 2/5] task_2 --- src/test/java/ReadFileTests.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/test/java/ReadFileTests.java b/src/test/java/ReadFileTests.java index b27e502..a5766a7 100644 --- a/src/test/java/ReadFileTests.java +++ b/src/test/java/ReadFileTests.java @@ -1,9 +1,24 @@ +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + public class ReadFileTests { @Test - public void secondLineShouldHabAlloha(){ - //write here second task + public void secondLineShouldHabAlloha() { + //write here second task + + String str; + try { + str = Files.readAllLines(Paths.get("src/test/resources/ReadFileTests.txt")).get(1); + } catch (IOException e) { + throw new RuntimeException(e); + } + + Assertions.assertTrue(str.contains("аллоха")); + } } From eb927a68e539d64f8a297f504aa748fae8f4d978 Mon Sep 17 00:00:00 2001 From: Elena Balyberdina Date: Thu, 14 Jul 2022 17:20:23 +0300 Subject: [PATCH 3/5] task_3 --- mydata.db | Bin 0 -> 12288 bytes src/test/resources/Task3.sql | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 mydata.db diff --git a/mydata.db b/mydata.db new file mode 100644 index 0000000000000000000000000000000000000000..062491af2402a9098ea93edf001cbdb35064c7b2 GIT binary patch literal 12288 zcmeI&F-yZh6u|MjBq#yp1cy>wuHevu2qNxQ$xsM_n!&BaUW9<@Ns{jRmHcQzCl@ab zY1P5K@_*#rJ>G@8@Y@b@e;em@rk`wCq_sX52SQ45skIOyaOu13!gEE_>q2(LA9Em1 zk6-uQ3!aLFdUpeX00IagfB*srAbKEbx5GMpe9m4$_;2L^>H?#gX3h^>AHJbE79W$%&q)MW&PJ!IdVjW_B^Jn}tyw z9lal$w>>>v&Ff8nA2Vw2=1ZYI)pE=E`FsQrKmY**5I_I{1Q0*~0R#~EE)aOW6fXTR sZ0`S3eF*mu2q1s}0tg_000IagfB*srAnx`W>Dh()0>|k~R{#J2 literal 0 HcmV?d00001 diff --git a/src/test/resources/Task3.sql b/src/test/resources/Task3.sql index e69de29..3d5286a 100644 --- a/src/test/resources/Task3.sql +++ b/src/test/resources/Task3.sql @@ -0,0 +1,4 @@ +SELECT + 100 * COUNT(promocode_id) / COUNT(order_id) AS percent_of_orders +FROM + orders; \ No newline at end of file From 975563ab2f407c0480fd3fccda2bd8c71a08222e Mon Sep 17 00:00:00 2001 From: Elena Balyberdina Date: Fri, 15 Jul 2022 13:09:03 +0300 Subject: [PATCH 4/5] task_4 --- src/test/resources/Task4.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/resources/Task4.txt b/src/test/resources/Task4.txt index e69de29..62b6441 100644 --- a/src/test/resources/Task4.txt +++ b/src/test/resources/Task4.txt @@ -0,0 +1,8 @@ +xpath: +"//button[@type='submit']" +"//button[@aria-label='Найти']" + +CSS: +по классу: ".search3__button.mini-suggest__button" +по атрибуту "[tabindex]" +по имени атрибута: "[type='submit']", "[tabindex = '-1']", [aria-label = 'Найти'] \ No newline at end of file From 2f313bbc603e981b853720ca01d62fbc69ba0272 Mon Sep 17 00:00:00 2001 From: Elena Balyberdina Date: Sun, 17 Jul 2022 13:11:09 +0300 Subject: [PATCH 5/5] task_5 --- src/main/java/qa/Main.java | 78 ++++++++++++++- src/main/java/qa/energy/Energy.java | 7 ++ src/main/java/qa/robots/ChefRobot.java | 17 ++++ src/main/java/qa/robots/FightingRobot.java | 20 ++++ src/main/java/qa/robots/Robot.java | 110 +++++++++++++++++++++ src/main/java/qa/robots/WelderRobot.java | 19 ++++ 6 files changed, 250 insertions(+), 1 deletion(-) create mode 100644 src/main/java/qa/energy/Energy.java create mode 100644 src/main/java/qa/robots/ChefRobot.java create mode 100644 src/main/java/qa/robots/FightingRobot.java create mode 100644 src/main/java/qa/robots/Robot.java create mode 100644 src/main/java/qa/robots/WelderRobot.java diff --git a/src/main/java/qa/Main.java b/src/main/java/qa/Main.java index d1516c7..4d5fadf 100644 --- a/src/main/java/qa/Main.java +++ b/src/main/java/qa/Main.java @@ -1,7 +1,83 @@ package qa; +import qa.energy.Energy; +import qa.robots.ChefRobot; +import qa.robots.FightingRobot; +import qa.robots.WelderRobot; + public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + + //боевые роботы показывают все виды действий и заправку различными видами энергии + FightingRobot fightingRobot_1 = new FightingRobot(); + fightingRobot_1.shoot(); + fightingRobot_1.fight(); + fightingRobot_1.drive(); + fightingRobot_1.fly(); + fightingRobot_1.walk(); + fightingRobot_1.refuel(Energy.ATOMIC, 45); + + FightingRobot fightingRobot_2 = new FightingRobot(); + fightingRobot_2.shoot(); + fightingRobot_2.fight(); + fightingRobot_2.drive(); + fightingRobot_2.fly(); + fightingRobot_2.walk(); + fightingRobot_2.refuel(Energy.ELECTRIC, 30); + + FightingRobot fightingRobot_3 = new FightingRobot(); + fightingRobot_3.shoot(); + fightingRobot_3.fight(); + fightingRobot_3.drive(); + fightingRobot_3.fly(); + fightingRobot_3.walk(); + fightingRobot_3.refuel(Energy.INTERNAL_COMBUSTION, 10); + + + //роботы - повара показывают все виды действий и заправку различными видами энергии + ChefRobot chefRobot_1 = new ChefRobot(); + chefRobot_1.cook(); + chefRobot_1.drive(); + chefRobot_1.fly(); + chefRobot_1.walk(); + chefRobot_1.refuel(Energy.INTERNAL_COMBUSTION, 5); + + ChefRobot chefRobot_2 = new ChefRobot(); + chefRobot_2.cook(); + chefRobot_2.drive(); + chefRobot_2.fly(); + chefRobot_2.walk(); + chefRobot_2.refuel(Energy.ELECTRIC, 20); + + ChefRobot chefRobot_3 = new ChefRobot(); + chefRobot_3.cook(); + chefRobot_3.drive(); + chefRobot_3.fly(); + chefRobot_3.walk(); + chefRobot_3.refuel(Energy.ATOMIC, 50); + + //роботы - сварщики показывают все виды действий и заправку различными видами энергии + WelderRobot welderRobot_1 = new WelderRobot(); + welderRobot_1.weld(); + welderRobot_1.walk(); + welderRobot_1.drive(); + welderRobot_1.fly(); + welderRobot_1.refuel(Energy.ATOMIC, 55); + + WelderRobot welderRobot_2 = new WelderRobot(); + welderRobot_2.weld(); + welderRobot_2.walk(); + welderRobot_2.drive(); + welderRobot_2.fly(); + welderRobot_2.refuel(Energy.ELECTRIC, 60); + + WelderRobot welderRobot_3 = new WelderRobot(); + welderRobot_3.weld(); + welderRobot_3.walk(); + welderRobot_3.drive(); + welderRobot_3.fly(); + welderRobot_3.refuel(Energy.INTERNAL_COMBUSTION, 100); + + } } \ No newline at end of file diff --git a/src/main/java/qa/energy/Energy.java b/src/main/java/qa/energy/Energy.java new file mode 100644 index 0000000..54dabb3 --- /dev/null +++ b/src/main/java/qa/energy/Energy.java @@ -0,0 +1,7 @@ +package qa.energy; + +public enum Energy { + ATOMIC, + ELECTRIC, + INTERNAL_COMBUSTION +} diff --git a/src/main/java/qa/robots/ChefRobot.java b/src/main/java/qa/robots/ChefRobot.java new file mode 100644 index 0000000..98ca8d2 --- /dev/null +++ b/src/main/java/qa/robots/ChefRobot.java @@ -0,0 +1,17 @@ +package qa.robots; + +/** + * ChefRobot - класс робота - повара. + * Наследуется от класса Robot + * ООП принцип - Наследование + */ +public class ChefRobot extends Robot { + + + /** + * метод, позволяющий роботу - повару готовить + */ + public void cook(){ + System.out.println("ChefRobot cooking"); + } +} diff --git a/src/main/java/qa/robots/FightingRobot.java b/src/main/java/qa/robots/FightingRobot.java new file mode 100644 index 0000000..cc7e1be --- /dev/null +++ b/src/main/java/qa/robots/FightingRobot.java @@ -0,0 +1,20 @@ +package qa.robots; + +/** + * FightingRobot - класс боевого робота. + * Наследуется от класса Robot + * ООП принцип - Наследование + */ +public class FightingRobot extends Robot { + + /** + * Метод, позволяющий роботу стрелять + */ + public void shoot(){ + System.out.println("FightingRobot shoots a gun"); + } + + public void fight(){ + System.out.println("FightingRobot fighting with a sword"); + } +} diff --git a/src/main/java/qa/robots/Robot.java b/src/main/java/qa/robots/Robot.java new file mode 100644 index 0000000..2df8187 --- /dev/null +++ b/src/main/java/qa/robots/Robot.java @@ -0,0 +1,110 @@ +package qa.robots; + +import qa.energy.Energy; + +/** + * Robot - абстрактный класс, объединяющий всех роботов + * Здесь использован принцип ООП - абстракция + * (способ объединить набор общих характеристик объектов, + * исключая из рассмотрения частные и незначительные) + */ +public abstract class Robot { + + /** + * метод зарядки роботов в зависимости от вида энергии + * + * @param energy - вид энергии + * @param index - показатель для заправки + */ + + public void refuel(Energy energy, int index) { + switch (energy) { + case ATOMIC -> atomicRefuel(index); + case ELECTRIC -> electricRefuel(index); + case INTERNAL_COMBUSTION -> refueling(index); + } + } + + + /** + * метод заправки электрической энергией + * ориентируется на степень заряженности батареи + * + * @param charge - процент заряженности батареи + */ + + void electricRefuel(int charge) { + if (charge <= 20) { + System.out.println("Робот заряжается автоматически"); + try { + Thread.sleep(8000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + + } else { + System.out.println("Робот заряжается принудительно"); + try { + Thread.sleep((100 - charge) * 100L); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + System.out.println("Робот полностью заряжен"); + } + + + /** + * заправка атомной энергией + * заправляет робота раз в 50 лет + * + * @param lastRefuelingYear - сколько лет назад была последняя заправка + */ + + private void atomicRefuel(int lastRefuelingYear) { + if (lastRefuelingYear >= 50) { + System.out.println("Робот заправлен"); + } else + System.out.println("Робот в заправке не нуждается, последняя заправка была " + + lastRefuelingYear + + " лет назад"); + } + + /** + * заправка топливом + * заправляет по мере опустошения бака + * + * @param tankFullness - наполненность бака + */ + private void refueling(int tankFullness) { + if (tankFullness < 10) { + System.out.println("Робот заправлен топливом"); + } + } + + + /** + * робот умеет ходить + */ + public void walk() { + System.out.println("Robot walking"); + } + + + + /** + * робот умеет ездить + */ + public void drive() { + System.out.println("Robot driving"); + } + + /** + * робот умеет летать + */ + public void fly() { + System.out.println("Robot flies"); + } + + +} diff --git a/src/main/java/qa/robots/WelderRobot.java b/src/main/java/qa/robots/WelderRobot.java new file mode 100644 index 0000000..7e3095b --- /dev/null +++ b/src/main/java/qa/robots/WelderRobot.java @@ -0,0 +1,19 @@ +package qa.robots; + +/** + * WelderRobot - класс робота - сварщика. + * Наследуется от класса Robot + * ООП принцип - Наследование + */ +public class WelderRobot extends Robot { + + + /** + * метод для сваривания деталей + */ + public void weld() { + + System.out.println("WelderRobot welding parts"); + + } +}