diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..effee0e
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+JavaCore2
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 7193838..8b13f4a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,5 +7,7 @@
-
+
+
+
\ No newline at end of file
diff --git a/JavaCore2.iml b/JavaCore2.iml
index 24ab829..da975dc 100644
--- a/JavaCore2.iml
+++ b/JavaCore2.iml
@@ -1,5 +1,6 @@
+
@@ -10,8 +11,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -32,6 +45,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apiTests.xml b/apiTests.xml
new file mode 100644
index 0000000..550e8d7
--- /dev/null
+++ b/apiTests.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/chromedriver.exe b/chromedriver.exe
deleted file mode 100644
index 4f88879..0000000
Binary files a/chromedriver.exe and /dev/null differ
diff --git a/pom.xml b/pom.xml
index badff96..9bec2ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,9 +19,26 @@
11
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M3
+
+
+ ${browser}.xml
+
+
+
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ 2.6.0
+
+
org.testng
testng
@@ -29,17 +46,52 @@
test
+
+ io.rest-assured
+ rest-assured-all
+ 4.3.0
+ test
+
+
org.seleniumhq.selenium
selenium-java
3.141.59
+
+ com.google.code.gson
+ gson
+ 2.8.6
+
+
commons-io
commons-io
2.6
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.13.2
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.13.2
+
+
+ io.rest-assured
+ json-path
+ 4.3.0
+ test
+
+
+ io.rest-assured
+ rest-assured
+ 4.3.0
+ test
+
\ No newline at end of file
diff --git a/src/main/java/MyFile.java b/src/main/java/MyFile.java
deleted file mode 100644
index 12d2458..0000000
--- a/src/main/java/MyFile.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class MyFile {
-}
diff --git a/src/main/java/hWA10/Airplane.java b/src/main/java/hWA10/Airplane.java
new file mode 100644
index 0000000..0d6acc5
--- /dev/null
+++ b/src/main/java/hWA10/Airplane.java
@@ -0,0 +1,102 @@
+package hWA10;
+
+public class Airplane {
+ private String brand;
+ private String model;
+ private int capacity;
+ private int [] numPassengers;
+ private String condition;
+ private int price;
+ private int numHr;
+ private String type;
+
+ public Airplane(String brand, String model, int capacity, int[] numPassengers, String condition, int price, int numHr, String type) {
+ this.brand = brand;
+ this.model = model;
+ this.capacity = capacity;
+ this.numPassengers = numPassengers;
+ this.condition = condition;
+ this.price = price;
+ this.numHr = numHr;
+ this.type = type;
+ }
+
+
+ public Airplane() {
+
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public int getPrice() {
+ return price;
+ }
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public int getCapacity() {
+ return capacity;
+ }
+
+ public int getNumHr() {
+ return numHr;
+ }
+
+ public int[] getNumPassengers() {
+ return numPassengers;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public void setPrice(int price) {
+ this.price = price;
+ }
+
+ public void setCondition(String condition) {
+ this.condition = condition;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public void setBrand(String brand) {
+ this.brand = brand;
+ }
+
+ public void setCapacity(int capacity) {
+ this.capacity = capacity;
+ }
+
+ public void setNumHr(int numHr) {
+ if (numHr > 0 && numHr < 18000){
+ this.numHr = numHr;
+ return;
+ }
+ System.out.println("wrong numbers of hr");
+ this.numHr=0;
+ }
+
+ public void setNumPassengers(int[] numPassengers) {
+ this.numPassengers = numPassengers;
+ }
+
+ public void printInfo(){
+ for(int x: numPassengers){
+ System.out.println("Airplane: "+brand+", model:"+model+", Type: "+type+", condition: "+condition +"\nnumber of passengers is "+x);}
+ }
+}
diff --git a/src/main/java/hWA10/Boat.java b/src/main/java/hWA10/Boat.java
new file mode 100644
index 0000000..d2f03f0
--- /dev/null
+++ b/src/main/java/hWA10/Boat.java
@@ -0,0 +1,136 @@
+package hWA10;
+
+public class Boat {
+ private String name;
+ private int year;
+ private int price;
+ private String engine;
+ private String portName;
+ private double tankVolume;
+ private double spead;
+ private int[] numPassengers;
+ private String type;
+
+ public Boat(String name, int year, int price, String engine, String portName, double tankVolume, double spead, int[] numPassengers, String type) {
+ this.name = name;
+ this.year = year;
+ this.price = price;
+ this.engine = engine;
+ this.portName = portName;
+ this.tankVolume = tankVolume;
+ this.spead = spead;
+ this.numPassengers = numPassengers;
+ this.type = type;
+ }
+
+ public Boat(String name, int year, int price, String engine, String type) {
+ this.name = name;
+ this.year = year;
+ this.price = price;
+ this.engine = engine;
+ this.portName = portName;
+ this.type = type;
+ }
+
+ public Boat(String name, int year, String engine, double tankVolume, double spead, int[] numPassengers, String type) {
+ this.name = name;
+ this.year = year;
+ this.engine = engine;
+ this.portName = portName;
+ this.tankVolume = tankVolume;
+ this.spead = spead;
+ this.numPassengers = numPassengers;
+ this.type = type;
+ }
+
+ public Boat() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public int getPrice() {
+ return price;
+ }
+
+ public double getSpead() {
+ return spead;
+ }
+
+ public double getTankVolume() {
+ return tankVolume;
+ }
+
+ public int getYear() {
+ return year;
+ }
+
+ public int[] getNumPassengers() {
+ return numPassengers;
+ }
+
+ public String getEngine() {
+ return engine;
+ }
+
+ public String getPortName() {
+ return portName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setPrice(int price) {
+ this.price = price;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setEngine(String engine) {
+ this.engine = engine;
+ }
+
+ public void setNumPassengers(int[] nunPassengers) {
+ this.numPassengers = nunPassengers;
+ }
+
+ public void setPortName(String portName) {
+ this.portName = portName;
+ }
+
+ public void setSpead(double spead) {
+ this.spead = spead;
+ }
+
+ public void setTankVolume(double tankVolume) {
+ if (tankVolume > 300 && tankVolume < 1500) {
+ this.tankVolume = tankVolume;
+ return;
+ }
+ System.out.println("wrong size of tank");
+ this.tankVolume = 300;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public void setYear(int year) {
+ if (year > 1930 && year < 2020) {
+ this.year = year;
+ return;
+ }
+ System.out.println("wrong year");
+ this.year = 2020;
+ }
+
+ public void printInfo() {
+ for (int x : numPassengers) {
+ System.out.println("Boat: " + name + "\nYear of construction - " + year + "\nEngine: " + engine + "\nPort: " + portName + "\nNumber of Passengers: " + x);
+ }
+ }
+}
diff --git a/src/main/java/hWA10/Book.java b/src/main/java/hWA10/Book.java
new file mode 100644
index 0000000..b9ed83f
--- /dev/null
+++ b/src/main/java/hWA10/Book.java
@@ -0,0 +1,111 @@
+package hWA10;
+
+public class Book {
+ private String name;
+ private int[] numberOfPages;
+ private String digital;
+ private String author;
+ private int year;
+ private String hardEdition;
+ private String condition;
+
+ public Book(String name, int[] numberOfPages, String digital, String author, int year, String hardEdition, String condition) {
+ this.name = name;
+ this.numberOfPages = numberOfPages;
+ this.digital = digital;
+ this.author = author;
+ this.year = year;
+ this.hardEdition = hardEdition;
+ this.condition = condition;
+ }
+
+
+ public Book() {
+ }
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public int getYear() {
+ return year;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public int[] getNumberOfPages() {
+ return numberOfPages;
+ }
+
+ public String getDigital() {
+ return digital;
+ }
+
+ public String getHardEdition() {
+ return hardEdition;
+ }
+
+ public void setCondition(String condition) {
+ this.condition = condition;
+ }
+
+ public void setYear(int year) {
+ if (year > 1850 && year < 2020) {
+ this.year = year;
+ return;
+ }
+ System.out.println("wrong year");
+ this.year = 2020;
+ }
+
+
+ public void setName(String name) {
+ if (name.length() < 2) {
+ System.out.println("wrong name of Book");
+ this.name = "00";
+ return;
+ }
+ this.name = name;
+ }
+
+ public void setAuthor(String author) {
+ if (author.length() < 2) {
+ System.out.println("wrong name of author");
+ this.author = "00";
+ return;
+ }
+ this.author = author;
+ }
+
+ public void setDigital(String digital) {
+ this.digital = digital;
+ }
+
+ public void setHardEdition(String hardEdition) {
+ this.hardEdition = hardEdition;
+ }
+
+ public void setNumberOfPages(int[] numberOfPages) {
+ this.numberOfPages = numberOfPages;
+ }
+
+
+
+
+
+ public void printInfo (){
+ for(int x: numberOfPages)
+
+ {
+
+ System.out.println("Book " + name + ", Author: " + author + ", was edited in " + year + "\nNumber of pages: " + x);
+ }
+ }
+}
+
diff --git a/src/main/java/hWA10/Work.java b/src/main/java/hWA10/Work.java
new file mode 100644
index 0000000..07f7e6f
--- /dev/null
+++ b/src/main/java/hWA10/Work.java
@@ -0,0 +1,72 @@
+package hWA10;
+
+public class Work {
+ public static void main(String[]args) {
+ Boat myBoat = new Boat();
+
+ int[] numPass={4,6,8,10,12};
+ myBoat.setEngine("gas");
+ myBoat.setName("Estrela do mar");
+ myBoat.setNumPassengers(numPass);
+ myBoat.setPortName("Porto");
+ myBoat.setPrice(12000);
+ myBoat.setSpead(12);
+ myBoat.setTankVolume(320);
+ myBoat.setType("leasure");
+ myBoat.setYear(2012);
+
+ myBoat.printInfo();
+ System.out.println("========================");
+
+ Boat newBoat = new Boat("Caravela",2020, 1800000,"GAS","Cascais",1800.0,18.2,numPass,"leasure");
+ newBoat.printInfo();
+
+
+
+ System.out.println("********************");
+
+ Book myBook = new Book();
+
+ int[]nPages ={108,253,304};
+ myBook.setAuthor("Kardashian");
+ myBook.setCondition("used");
+ myBook.setDigital("yes");
+ myBook.setHardEdition("yes");
+ myBook.setName("One day of my Life");
+ myBook.setYear(2019);
+ myBook.setNumberOfPages(nPages);
+
+ myBook.printInfo();
+ System.out.println("========================");
+
+
+
+
+ Book newBook = new Book("What else",nPages,"yes","Komarov", 2020,"No","new");
+
+ newBook.printInfo();
+
+ System.out.println("********************");
+
+ Airplane myPlane = new Airplane();
+ int [] numPassPlain={4,8,6};
+ myPlane.setBrand("Airbus");
+ myPlane.setCapacity(18000);
+ myPlane.setCondition("used");
+ myPlane.setModel("A-320");
+ myPlane.setNumHr(120);
+ myPlane.setPrice(1800000);
+ myPlane.setType("industrial");
+ myPlane.setNumPassengers(numPass);
+
+
+ myPlane.printInfo();
+ System.out.println("========================");
+
+ Airplane newPlain = new Airplane("Boing","770", 180000, numPassPlain, "new",24000000, 0, "industrial");
+
+ newPlain.printInfo();
+
+
+ }
+}
diff --git a/src/main/java/hWA11/Address.java b/src/main/java/hWA11/Address.java
new file mode 100644
index 0000000..fd2f00f
--- /dev/null
+++ b/src/main/java/hWA11/Address.java
@@ -0,0 +1,34 @@
+package hWA11;
+
+public class Address {
+ private String strAddress;
+ private String sity;
+ private String county;
+ private int zipCode;
+
+ public Address(String strAddress, String sity, String county, int zipCode) {
+ this.strAddress = strAddress;
+ this.sity = sity;
+ this.county = county;
+ this.zipCode = zipCode;
+ }
+
+ public String getStrAddress() {
+ return strAddress;
+ }
+
+ public String getSity() {
+ return sity;
+ }
+
+ public String getCounty() {
+ return county;
+ }
+
+ public int getZipCode() {
+ return zipCode;
+ }
+ public void printInfo(){
+ System.out.println("Address: "+strAddress+", "+sity+", "+county+", "+zipCode);
+ }
+}
diff --git a/src/main/java/hWA11/Computer.java b/src/main/java/hWA11/Computer.java
new file mode 100644
index 0000000..5debf71
--- /dev/null
+++ b/src/main/java/hWA11/Computer.java
@@ -0,0 +1,28 @@
+package hWA11;
+
+public class Computer {
+ private Monitor monitor;
+ private SysBlock sysBlock;
+ private Mouse mouse;
+ private KeyBoard keyboard;
+
+ public Computer(Monitor monitor, SysBlock sysBlock, Mouse mouse, KeyBoard keyboard) {
+ this.monitor = monitor;
+ this.sysBlock = sysBlock;
+ this.mouse = mouse;
+ this.keyboard = keyboard;
+ }
+
+ public SysBlock getSysBlock() {
+ return sysBlock;
+ }
+
+ public void printInfo(){
+ monitor.printInfo();
+ keyboard.printInfo();
+ mouse.printInfo();
+ sysBlock.printInfo();
+
+ }
+
+}
diff --git a/src/main/java/hWA11/Contact.java b/src/main/java/hWA11/Contact.java
new file mode 100644
index 0000000..ae13b12
--- /dev/null
+++ b/src/main/java/hWA11/Contact.java
@@ -0,0 +1,30 @@
+package hWA11;
+
+public class Contact {
+ private Name name;
+ private Address address;
+ private Insurance insurance;
+
+ public Contact(Name name, Address address, Insurance insurance) {
+ this.name = name;
+ this.address = address;
+ this.insurance = insurance;
+ }
+
+ public Name getName() {
+ return name;
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+
+ public Insurance getInsurance() {
+ return insurance;
+ }
+ public void printInfo(){
+ name.printInfo();
+ address.printInfo();
+ insurance.printInfo();
+ }
+}
diff --git a/src/main/java/hWA11/Cpu_cooler.java b/src/main/java/hWA11/Cpu_cooler.java
new file mode 100644
index 0000000..d6be6ca
--- /dev/null
+++ b/src/main/java/hWA11/Cpu_cooler.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class Cpu_cooler {
+ private String type;
+ private String brand;
+
+ public Cpu_cooler(String type, String brand) {
+ this.type = type;
+ this.brand = brand;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+ public void printInfo(){
+ System.out.println("CPU cooler{brand=" + brand + ", type=" + type + "}");
+ }
+}
diff --git a/src/main/java/hWA11/Gpu.java b/src/main/java/hWA11/Gpu.java
new file mode 100644
index 0000000..739d64a
--- /dev/null
+++ b/src/main/java/hWA11/Gpu.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class Gpu {
+ private String brand;
+ private String model;
+
+ public Gpu(String brand, String model) {
+ this.brand = brand;
+ this.model = model;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+
+ public String getModel() {
+ return model;
+ }
+ public void printInfo(){
+ System.out.println("GPU{brand=" + brand + ", model=" + model + "}");
+ }
+}
diff --git a/src/main/java/hWA11/Hdd.java b/src/main/java/hWA11/Hdd.java
new file mode 100644
index 0000000..6374819
--- /dev/null
+++ b/src/main/java/hWA11/Hdd.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class Hdd {
+ private String brand;
+ private int capacity;
+
+ public Hdd(String brand, int capacity) {
+ this.brand = brand;
+ this.capacity = capacity;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+
+ public int getCapacity() {
+ return capacity;
+ }
+ public void printInfo(){
+ System.out.println("HDD{brand=" + brand + ", capacity=" + capacity + "}");
+ }
+}
diff --git a/src/main/java/hWA11/Insurance.java b/src/main/java/hWA11/Insurance.java
new file mode 100644
index 0000000..9b1dd88
--- /dev/null
+++ b/src/main/java/hWA11/Insurance.java
@@ -0,0 +1,33 @@
+package hWA11;
+
+public class Insurance {
+ private String type;
+ private String startDate;
+ private int duration;
+ private int price;
+ private String planName;
+
+ public Insurance(String type, String startDate, int duration, int price, String planName) {
+ this.type = type;
+ this.startDate = startDate;
+ this.duration = duration;
+ this.price = price;
+ this.planName = planName;
+ }
+
+ public String getPlanName() {
+ return planName;
+ }
+
+ public String getStartDate() {
+ return startDate;
+ }
+
+ public int getDuration() {
+ return duration;
+ }
+
+ public void printInfo(){
+ System.out.println("Insurance type: "+type+"\nPlan: "+planName+"\nStart: " +startDate+"\n\tDuration: "+duration+ " monthes"+"\nPrice per month: "+price);
+ }
+}
diff --git a/src/main/java/hWA11/KeyBoard.java b/src/main/java/hWA11/KeyBoard.java
new file mode 100644
index 0000000..6c41a47
--- /dev/null
+++ b/src/main/java/hWA11/KeyBoard.java
@@ -0,0 +1,12 @@
+package hWA11;
+
+public class KeyBoard {
+ private String brand;
+
+ public KeyBoard(String brand) {
+ this.brand = brand;
+ }
+ public void printInfo(){
+ System.out.println("Keyboard brand = " + brand);
+ }
+}
diff --git a/src/main/java/hWA11/Memory.java b/src/main/java/hWA11/Memory.java
new file mode 100644
index 0000000..509801d
--- /dev/null
+++ b/src/main/java/hWA11/Memory.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class Memory {
+ private String brand;
+ private int capacity;
+
+ public Memory(String brand, int capacity) {
+ this.brand = brand;
+ this.capacity = capacity;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+
+ public int getCapacity() {
+ return capacity;
+ }
+ public void printInfo(){
+ System.out.println("Memory{brand=" + brand + ", copacity=" + capacity + "}");
+ }
+}
diff --git a/src/main/java/hWA11/Monitor.java b/src/main/java/hWA11/Monitor.java
new file mode 100644
index 0000000..104ae19
--- /dev/null
+++ b/src/main/java/hWA11/Monitor.java
@@ -0,0 +1,18 @@
+package hWA11;
+
+public class Monitor {
+ private String brand;
+ private String model;
+ private int diag;
+
+ public Monitor(String brand, String model, int diag) {
+ this.brand = brand;
+ this.model = model;
+ this.diag = diag;
+ }
+
+ public void printInfo() {
+ String xx= "Monitor{brand=" + brand + ", model=" + model + ", diag=" + diag +'}';
+ System.out.println(xx);
+ }
+}
diff --git a/src/main/java/hWA11/MotherBoard.java b/src/main/java/hWA11/MotherBoard.java
new file mode 100644
index 0000000..3dfc6e3
--- /dev/null
+++ b/src/main/java/hWA11/MotherBoard.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class MotherBoard {
+ private String brand;
+ private String model;
+
+ public MotherBoard(String brand, String model) {
+ this.brand = brand;
+ this.model = model;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+
+ public String getModel() {
+ return model;
+ }
+ public void printInfo(){
+ System.out.println("MothrBoard{brand=" + brand + ", model=" + model + "}");
+ }
+}
diff --git a/src/main/java/hWA11/Mouse.java b/src/main/java/hWA11/Mouse.java
new file mode 100644
index 0000000..0c8c1d2
--- /dev/null
+++ b/src/main/java/hWA11/Mouse.java
@@ -0,0 +1,12 @@
+package hWA11;
+
+public class Mouse {
+ private String brand;
+
+ public Mouse(String brand) {
+ this.brand = brand;
+ }
+ public void printInfo(){
+ System.out.println("Mouse = "+ brand);
+ }
+}
diff --git a/src/main/java/hWA11/Name.java b/src/main/java/hWA11/Name.java
new file mode 100644
index 0000000..2a314dc
--- /dev/null
+++ b/src/main/java/hWA11/Name.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class Name {
+ private String name;
+ private String lastName;
+
+ public Name(String name, String lastName) {
+ this.name = name;
+ this.lastName = lastName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+ public void printInfo(){
+ System.out.println("Name{ "+name+" "+lastName+" }");
+ }
+}
diff --git a/src/main/java/hWA11/PowerSupply.java b/src/main/java/hWA11/PowerSupply.java
new file mode 100644
index 0000000..c67eb74
--- /dev/null
+++ b/src/main/java/hWA11/PowerSupply.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class PowerSupply {
+ private String brand;
+ private int power;
+
+ public PowerSupply(String brand, int power) {
+ this.brand = brand;
+ this.power = power;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+
+ public int getPower() {
+ return power;
+ }
+ public void printInfo(){
+ System.out.println("Power Supply{brand=" + brand + ", power=" + power + "}");
+ }
+}
diff --git a/src/main/java/hWA11/Prosessor.java b/src/main/java/hWA11/Prosessor.java
new file mode 100644
index 0000000..4da672f
--- /dev/null
+++ b/src/main/java/hWA11/Prosessor.java
@@ -0,0 +1,22 @@
+package hWA11;
+
+public class Prosessor {
+ private String brand;
+ private String model;
+
+ public Prosessor(String brand, String model) {
+ this.brand = brand;
+ this.model = model;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+
+ public String getModel() {
+ return model;
+ }
+ public void printInfo(){
+ System.out.println("Prosessor{brand=" + brand + ", model=" + model +"}");
+ }
+}
diff --git a/src/main/java/hWA11/SysBlock.java b/src/main/java/hWA11/SysBlock.java
new file mode 100644
index 0000000..d60555e
--- /dev/null
+++ b/src/main/java/hWA11/SysBlock.java
@@ -0,0 +1,59 @@
+package hWA11;
+
+public class SysBlock {
+ private Prosessor prosessor;
+ private MotherBoard motherBoard;
+ private Gpu gpu;
+ private Memory memory;
+ private Cpu_cooler cpuCooler;
+ private Hdd hdd;
+ private PowerSupply powerSupply;
+
+ public SysBlock(Prosessor prosessor, MotherBoard motherBoard, Gpu gpu, Memory memory, Cpu_cooler cpuCooler, Hdd hdd, PowerSupply powerSupply) {
+ this.prosessor = prosessor;
+ this.motherBoard = motherBoard;
+ this.gpu = gpu;
+ this.memory = memory;
+ this.cpuCooler = cpuCooler;
+ this.hdd = hdd;
+ this.powerSupply = powerSupply;
+ }
+
+ public Prosessor getProsessor() {
+ return prosessor;
+ }
+
+ public MotherBoard getMotherBoard() {
+ return motherBoard;
+ }
+
+ public Gpu getGpu() {
+ return gpu;
+ }
+
+ public Memory getMemory() {
+ return memory;
+ }
+
+ public Cpu_cooler getCpuCooler() {
+ return cpuCooler;
+ }
+
+ public Hdd getHdd() {
+ return hdd;
+ }
+
+ public PowerSupply getPowerSupply() {
+ return powerSupply;
+ }
+ public void printInfo(){
+ prosessor.printInfo();
+ motherBoard.printInfo();
+ gpu.printInfo();
+ memory.printInfo();
+ cpuCooler.printInfo();
+ hdd.printInfo();
+ powerSupply.printInfo();
+
+ }
+}
diff --git a/src/main/java/hWA11/Work.java b/src/main/java/hWA11/Work.java
new file mode 100644
index 0000000..9dbacf3
--- /dev/null
+++ b/src/main/java/hWA11/Work.java
@@ -0,0 +1,34 @@
+package hWA11;
+
+public class Work {
+ public static void main(String[]args){
+
+ Mouse mouse=new Mouse("Apple");
+ Monitor monitor =new Monitor("Apple","27'iMac",27);
+ KeyBoard keyBoard = new KeyBoard("Apple");
+
+ Prosessor prosessor = new Prosessor("Intel", "I9");
+ MotherBoard motherBoard = new MotherBoard("Azuz","z-390");
+ Gpu gpu = new Gpu("MSI", "RX580");
+ Memory memory=new Memory("Corser", 32);
+ Cpu_cooler cpuCooler = new Cpu_cooler("Air","Corsar");
+ Hdd hdd=new Hdd("Intel", 600);
+ PowerSupply powerSupply = new PowerSupply("Corsar", 700);
+
+ SysBlock sysBlock=new SysBlock(prosessor,motherBoard,gpu, memory, cpuCooler, hdd, powerSupply);
+ Computer myComputer = new Computer(monitor, sysBlock, mouse, keyBoard);
+
+
+ myComputer.printInfo();
+ System.out.println("Memory capacity of my computer is : "+myComputer.getSysBlock().getMemory().getCapacity());
+
+ System.out.println("______________________");
+
+ Insurance insurance=new Insurance("STM","May/7/2020",6,125,"NatGen PPO 100000");
+ Address address = new Address("138 Paelhe Str.","Huston","Baton Ruge",78701);
+ Name name = new Name("Lana","Coelha");
+
+ Contact contact = new Contact(name,address, insurance);
+ contact.printInfo();
+ }
+}
diff --git a/src/main/java/hWA12/Boat.java b/src/main/java/hWA12/Boat.java
new file mode 100644
index 0000000..43e3f5c
--- /dev/null
+++ b/src/main/java/hWA12/Boat.java
@@ -0,0 +1,17 @@
+package hWA12;
+
+public class Boat extends Transport {
+ private String boatType;
+
+ public Boat(int price, String type, String fuel, String boatType) {
+ super(price, type, fuel);
+ this.boatType = boatType;
+ }
+
+ public String getBoatType() {
+ return boatType;
+ }
+ public String toString(){
+ return "Boat type:" +boatType+" it's a "+type+" type;\nPrice: "+price+"\nfuel: "+fuel;
+ }
+}
diff --git a/src/main/java/hWA12/Motor.java b/src/main/java/hWA12/Motor.java
new file mode 100644
index 0000000..12ba2a5
--- /dev/null
+++ b/src/main/java/hWA12/Motor.java
@@ -0,0 +1,28 @@
+package hWA12;
+
+public class Motor{
+ private int hPw;
+ private String motorType;
+ private String brand;
+
+ public Motor(int hPw, String motorType, String brand) {
+ this.hPw = hPw;
+ this.motorType = motorType;
+ this.brand = brand;
+ }
+
+ public int gethPw() {
+ return hPw;
+ }
+
+ public String getMotorType() {
+ return motorType;
+ }
+
+ public String getBrand() {
+ return brand;
+ }
+ public String toString(){
+ return "Motor "+brand+" with "+hPw+" horse Powers \ntype of motor: "+motorType+".";
+ }
+}
diff --git a/src/main/java/hWA12/Plane.java b/src/main/java/hWA12/Plane.java
new file mode 100644
index 0000000..da470fe
--- /dev/null
+++ b/src/main/java/hWA12/Plane.java
@@ -0,0 +1,30 @@
+package hWA12;
+
+public class Plane extends Transport {
+ protected int quantOfIlluminators;
+ protected int quantOfHoursOnAir;
+ protected Motor motor;
+
+ public Plane(int quantityOfWheels, int price, String type, String fuel, int quantOfIlluminators, int quantOfHoursOnAir, Motor motor) {
+ super(quantityOfWheels, price, type, fuel);
+ this.quantOfIlluminators = quantOfIlluminators;
+ this.quantOfHoursOnAir = quantOfHoursOnAir;
+ this.motor=motor;
+ }
+
+
+ public int getQuantOfIlluminators() {
+ return quantOfIlluminators;
+ }
+
+ public int getQuantOfHoursOnAir() {
+ return quantOfHoursOnAir;
+ }
+ public Motor getMotor() {
+ return motor;
+ }
+
+ public String toString(){
+ return"Plane with: "+quantityOfWheels+" wheels, \ntype of plane: "+type+", \nquantity of H on air: "+quantOfHoursOnAir+",\nprice: "+price +",\nMotor:"+motor.toString();
+ }
+}
diff --git a/src/main/java/hWA12/Transport.java b/src/main/java/hWA12/Transport.java
new file mode 100644
index 0000000..c758ec4
--- /dev/null
+++ b/src/main/java/hWA12/Transport.java
@@ -0,0 +1,40 @@
+package hWA12;
+
+public class Transport {
+ protected int quantityOfWheels;
+ protected int price;
+ protected String type;
+ protected String fuel;
+
+ public Transport(int quantityOfWheels, int price, String type, String fuel) {
+ this.quantityOfWheels = quantityOfWheels;
+ this.price = price;
+ this.type = type;
+ this.fuel = fuel;
+ }
+ public Transport(int price, String type, String fuel) {
+ this.price = price;
+ this.type = type;
+ this.fuel = fuel;
+ }
+ public Transport(){}
+
+ public int getQuantityOfWheels() {
+ return quantityOfWheels;
+ }
+
+ public int getPrice() {
+ return price;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getFuel() {
+ return fuel;
+ }
+ public void printInfo(){
+
+ }
+}
diff --git a/src/main/java/hWA12/Work.java b/src/main/java/hWA12/Work.java
new file mode 100644
index 0000000..f57a497
--- /dev/null
+++ b/src/main/java/hWA12/Work.java
@@ -0,0 +1,18 @@
+package hWA12;
+
+public class Work {
+ public static void main(String[]args){
+
+ Motor planeMotor = new Motor(1800,"hidrawlique","Airbus");
+ Plane myPlane = new Plane(6,24000,"Passenger","vodka",24,80,planeMotor);
+ Transport transport=new Transport (2,1800000,"AirPlane", "kerasine");
+
+ System.out.println(myPlane.toString());
+ System.out.println(myPlane.getPrice());
+
+ Boat myBoat = new Boat(1200000,"leasure","GAS","super spead rodster");
+ System.out.println(myBoat.toString());
+ System.out.println("it s a "+myBoat.getType()+" boat");
+
+ }
+}
diff --git a/src/main/java/hWA13/Animals.java b/src/main/java/hWA13/Animals.java
new file mode 100644
index 0000000..f395a57
--- /dev/null
+++ b/src/main/java/hWA13/Animals.java
@@ -0,0 +1,8 @@
+package hWA13;
+
+public interface Animals {
+ public void move();
+ public void breath();
+ public void song();
+ public int maxAge();
+}
diff --git a/src/main/java/hWA13/Carnivorous.java b/src/main/java/hWA13/Carnivorous.java
new file mode 100644
index 0000000..a01e8a3
--- /dev/null
+++ b/src/main/java/hWA13/Carnivorous.java
@@ -0,0 +1,53 @@
+package hWA13;
+
+public class Carnivorous implements Animals {
+ protected int maxAge;
+ protected String typeFood;
+
+
+ public Carnivorous(int maxAge, String typeFood, String name, String habitat) {
+ this.maxAge = maxAge;
+ this.typeFood = typeFood;
+ }
+
+ public int getMaxAge() {
+ return maxAge;
+ }
+
+ public String getTypeFood() {
+ return typeFood;
+ }
+
+
+ public void setMaxAge(int maxAge) {
+ this.maxAge = maxAge;
+ }
+
+ public void setTypeFood(String typeFood) {
+ this.typeFood = typeFood;
+ }
+
+
+
+ @Override
+ public void move() {
+ System.out.println("i can run");
+ }
+
+ @Override
+ public void breath() {
+ System.out.println("i can breath");
+
+ }
+
+ @Override
+ public void song() {
+ System.out.println("i can make songs");
+
+ }
+
+ @Override
+ public int maxAge() {
+ return maxAge;
+ }
+}
diff --git a/src/main/java/hWA13/Cow.java b/src/main/java/hWA13/Cow.java
new file mode 100644
index 0000000..262177c
--- /dev/null
+++ b/src/main/java/hWA13/Cow.java
@@ -0,0 +1,41 @@
+package hWA13;
+
+public class Cow extends Herbivorous {
+ private String name;
+ private String habitate;
+
+ public Cow(int maxAge, String typeFood, String name, String habitate) {
+ super(maxAge, typeFood);
+ this.name = name;
+ this.habitate = habitate;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getHabitate() {
+ return habitate;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setHabitate(String habitate) {
+ this.habitate = habitate;
+ }
+
+ @Override
+ public void move() {
+ System.out.println("I can walk slowly");
+ }
+ public void song(){
+ System.out.println("my-myyyyy");
+ }
+
+ public String toString(){
+ return "Name of animal: "+name+"\ncan live maximum "+ maxAge +" years,"+"\nTipical habitat "+habitate+"\nthis animal favorites food is"+typeFood;
+ }
+}
+
diff --git a/src/main/java/hWA13/Herbivorous.java b/src/main/java/hWA13/Herbivorous.java
new file mode 100644
index 0000000..73a9958
--- /dev/null
+++ b/src/main/java/hWA13/Herbivorous.java
@@ -0,0 +1,52 @@
+package hWA13;
+
+public class Herbivorous implements Animals {
+ protected int maxAge;
+ protected String typeFood;
+
+ public Herbivorous(int maxAge, String typeFood) {
+ this.maxAge = maxAge;
+ this.typeFood = typeFood;
+ }
+
+ public int getMaxAge() {
+ return maxAge;
+ }
+
+ public String getTypeFood() {
+ return typeFood;
+ }
+
+
+ public void setMaxAge(int maxAge) {
+ this.maxAge = maxAge;
+ }
+
+ public void setTypeFood(String typeFood) {
+ this.typeFood = typeFood;
+ }
+
+
+
+ @Override
+ public void move() {
+ System.out.println("i can run");
+ }
+
+ @Override
+ public void breath() {
+ System.out.println("i can breath");
+
+ }
+
+ @Override
+ public void song() {
+ System.out.println("i can make songs");
+
+ }
+
+ @Override
+ public int maxAge() {
+ return maxAge;
+ }
+}
diff --git a/src/main/java/hWA13/Jaguar.java b/src/main/java/hWA13/Jaguar.java
new file mode 100644
index 0000000..7ed88fa
--- /dev/null
+++ b/src/main/java/hWA13/Jaguar.java
@@ -0,0 +1,36 @@
+package hWA13;
+
+public class Jaguar extends Carnivorous {
+ private String name;
+ private String habitate;
+
+ public Jaguar(int maxAge, String typeFood, String name, String habitat) {
+ super(maxAge, typeFood, name, habitat);
+ this.name = name;
+ this.habitate = habitate;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getHabitate() {
+ return habitate;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setHabitate(String habitate) {
+ this.habitate = habitate;
+ }
+
+ @Override
+ public void move() {
+ System.out.println("I can run very fast");
+ }
+ public String toString(){
+ return "Name of animal: "+name+"\ncan live maximum "+maxAge+" years,"+"\nTipical habitat "+habitate+"\nthis animal favorites food is "+typeFood;
+ }
+}
diff --git a/src/main/java/hWA13/Work.java b/src/main/java/hWA13/Work.java
new file mode 100644
index 0000000..e518caf
--- /dev/null
+++ b/src/main/java/hWA13/Work.java
@@ -0,0 +1,22 @@
+package hWA13;
+
+public class Work {
+ public static void main(String[]args){
+ Animals jaguar = new Jaguar(15,"fresh meat","yellow jaguar","tropical forest");
+ System.out.println(jaguar.toString());
+ jaguar.breath();
+ jaguar.maxAge();
+ jaguar.move();
+ jaguar.song();
+ System.out.println("___________");
+
+ Animals cow = new Cow(10,"fresh and dry herbs", "Burenka","ferm");
+ Animals xx=cow;
+ System.out.println(xx.toString());
+ xx.song();
+ xx.move();
+ xx.breath();
+
+
+ }
+}
diff --git a/src/main/java/hWA14/Amphibians.java b/src/main/java/hWA14/Amphibians.java
new file mode 100644
index 0000000..e4d8a29
--- /dev/null
+++ b/src/main/java/hWA14/Amphibians.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Amphibians extends Vertebrates {
+}
diff --git a/src/main/java/hWA14/Animals.java b/src/main/java/hWA14/Animals.java
new file mode 100644
index 0000000..c859b23
--- /dev/null
+++ b/src/main/java/hWA14/Animals.java
@@ -0,0 +1,5 @@
+package hWA14;
+
+public interface Animals extends Life {
+ public void canMove();
+}
diff --git a/src/main/java/hWA14/Area.java b/src/main/java/hWA14/Area.java
new file mode 100644
index 0000000..951fda5
--- /dev/null
+++ b/src/main/java/hWA14/Area.java
@@ -0,0 +1,9 @@
+package hWA14;
+
+public enum Area {
+ TROPICS,
+ SELVA,
+ DESERT,
+ FOREST,
+ OCEAN
+}
diff --git a/src/main/java/hWA14/Bacteria.java b/src/main/java/hWA14/Bacteria.java
new file mode 100644
index 0000000..f19ca2a
--- /dev/null
+++ b/src/main/java/hWA14/Bacteria.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Bacteria extends Life {
+}
diff --git a/src/main/java/hWA14/Birds.java b/src/main/java/hWA14/Birds.java
new file mode 100644
index 0000000..f757ac6
--- /dev/null
+++ b/src/main/java/hWA14/Birds.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Birds extends Vertebrates {
+}
diff --git a/src/main/java/hWA14/BlueWhales.java b/src/main/java/hWA14/BlueWhales.java
new file mode 100644
index 0000000..6d8088d
--- /dev/null
+++ b/src/main/java/hWA14/BlueWhales.java
@@ -0,0 +1,65 @@
+package hWA14;
+
+public class BlueWhales extends Whales{
+ private String name;
+
+ public BlueWhales(Area habitat, String name) {
+ super(habitat);
+ this.name=name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void canSwim() {
+ System.out.println("I can swim during long time");
+
+ }
+
+ @Override
+ public void longOfHair() {
+ System.out.println("I have very chort hairs");
+
+ }
+
+ @Override
+ public void howIMove() {
+ System.out.println("i can only swim");
+
+ }
+
+ @Override
+ public void myNervousSystem() {
+ System.out.println("I have spinal cord - i am a vertebrates");
+
+ }
+
+ @Override
+ public void canMove() {
+ System.out.println("i move very gracious");
+
+ }
+
+ @Override
+ public void breath() {
+ System.out.println("I breath, then i am out of water");
+
+ }
+
+ @Override
+ public void live() {
+ System.out.println(" i can live a lot of years, more then peoples");
+
+ }
+
+ @Override
+ public void reproduction() {
+ System.out.println("type reproduction: viviparous");
+
+ }
+ public String toString(){
+ return "i am a "+name+ " My habitat is "+habitat;
+ }
+}
diff --git a/src/main/java/hWA14/Carnivores.java b/src/main/java/hWA14/Carnivores.java
new file mode 100644
index 0000000..f0c2fea
--- /dev/null
+++ b/src/main/java/hWA14/Carnivores.java
@@ -0,0 +1,35 @@
+package hWA14;
+
+ public abstract class Carnivores implements Mammals {
+ protected Area habitat;
+ protected boolean haveLegs;
+
+ public Carnivores(Area habitat, boolean haveLegs) {
+ this.habitat = habitat;
+ this.haveLegs = haveLegs;
+ }
+
+
+ public boolean getHaveLegs() {
+ return haveLegs;
+ }
+
+ public Area getHabitat() {
+ return habitat;
+ }
+
+ public void setHabitat(Area habitat) {
+ this.habitat = habitat;
+ }
+
+ public void setHaveLegs(boolean haveLegs) {
+ this.haveLegs = haveLegs;
+ }
+
+ public abstract void myMeals();
+
+ public void longOfHair(){
+ System.out.println(" i have hairs");
+ };
+
+}
diff --git a/src/main/java/hWA14/Fish.java b/src/main/java/hWA14/Fish.java
new file mode 100644
index 0000000..379bcb4
--- /dev/null
+++ b/src/main/java/hWA14/Fish.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Fish extends Vertebrates {
+}
diff --git a/src/main/java/hWA14/Fungi.java b/src/main/java/hWA14/Fungi.java
new file mode 100644
index 0000000..12f776b
--- /dev/null
+++ b/src/main/java/hWA14/Fungi.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Fungi extends Life {
+}
diff --git a/src/main/java/hWA14/Herbivores.java b/src/main/java/hWA14/Herbivores.java
new file mode 100644
index 0000000..c631f07
--- /dev/null
+++ b/src/main/java/hWA14/Herbivores.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public abstract class Herbivores implements Mammals {
+}
diff --git a/src/main/java/hWA14/Invertebrates.java b/src/main/java/hWA14/Invertebrates.java
new file mode 100644
index 0000000..e7d3197
--- /dev/null
+++ b/src/main/java/hWA14/Invertebrates.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Invertebrates extends Animals {
+}
diff --git a/src/main/java/hWA14/Life.java b/src/main/java/hWA14/Life.java
new file mode 100644
index 0000000..c0a75d6
--- /dev/null
+++ b/src/main/java/hWA14/Life.java
@@ -0,0 +1,8 @@
+package hWA14;
+
+public interface Life {
+ public void breath();
+ public void live();
+ public void reproduction();
+
+}
diff --git a/src/main/java/hWA14/Lion.java b/src/main/java/hWA14/Lion.java
new file mode 100644
index 0000000..3c9a99e
--- /dev/null
+++ b/src/main/java/hWA14/Lion.java
@@ -0,0 +1,128 @@
+package hWA14;
+
+public class Lion extends Carnivores{
+ private String name;
+
+ public Lion(Area habitat, boolean haveLegs,String name) {
+ super(habitat, haveLegs);
+ this.name=name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public void myMeals() {
+ System.out.println("My favorite meal is fresh meat. ");
+
+ }
+ @Override
+ public void longOfHair() {
+ System.out.println(" i have different long of hair ");
+
+ }
+
+ @Override
+ public void howIMove()
+ {
+ System.out.println("I can rune very fast. ");
+
+ }
+
+ @Override
+ public void myNervousSystem() {
+ System.out.println(" i have spinal cord and i am vertebral");
+
+ }
+
+ @Override
+ public void canMove() {
+ System.out.println("I can move fast. ");
+
+ }
+
+ @Override
+ public void breath() {
+ System.out.println(" I can breath. ");
+
+ }
+
+ @Override
+ public void live() {
+ System.out.println(" i still a live. ");
+
+ }
+
+ @Override
+ public void reproduction() {
+ System.out.println("type reproduction: viviparous");
+
+ }
+ public String toString(){
+ return "i am a "+name+ " My habitat is "+habitat+"\nI have legs "+haveLegs;
+ }
+
+// public Lion(Area habitat, boolean haveLegs, String name) {
+// super(habitat, haveLegs);
+// this.name = name;
+// }
+//
+// public String getName() {
+// return name;
+// }
+//
+// @Override
+// public void myMeals() {
+// System.out.println("My favorite meal is fresh meat. ");
+// }
+//
+// @Override
+// public void longOfHair() {
+// System.out.println(" i have different long of hair ");
+//
+// }
+//
+// @Override
+// public void howIMove() {
+// System.out.println("I can rune very fast. ");
+//
+// }
+//
+// @Override
+// public void myNervousSystem() {
+// System.out.println(" i have spinal cord and i am vertebral");
+//
+// }
+//
+// @Override
+// public void canMove() {
+// System.out.println("I can move fast. ");
+//
+// }
+//
+// @Override
+// public void breath() {
+// System.out.println(" I can breath. ");
+//
+// }
+//
+// @Override
+// public void live() {
+// System.out.println(" i still a live. ");
+//
+// }
+//
+// @Override
+// public void reproduction() {
+// System.out.println("type reproduction: viviparous");
+//
+// }
+// public String toString(){
+// return "i am a "+name+ " My habitat is "+habitat+"\nI have legs "+haveLegs;
+// }
+}
diff --git a/src/main/java/hWA14/Mammals.java b/src/main/java/hWA14/Mammals.java
new file mode 100644
index 0000000..2572905
--- /dev/null
+++ b/src/main/java/hWA14/Mammals.java
@@ -0,0 +1,6 @@
+package hWA14;
+
+public interface Mammals extends Vertebrates {
+ public void longOfHair();
+
+ }
diff --git a/src/main/java/hWA14/Plants.java b/src/main/java/hWA14/Plants.java
new file mode 100644
index 0000000..c52749a
--- /dev/null
+++ b/src/main/java/hWA14/Plants.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Plants extends Life {
+}
diff --git a/src/main/java/hWA14/Primates.java b/src/main/java/hWA14/Primates.java
new file mode 100644
index 0000000..6aaa85e
--- /dev/null
+++ b/src/main/java/hWA14/Primates.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public abstract class Primates implements Mammals {
+}
diff --git a/src/main/java/hWA14/Reptiles.java b/src/main/java/hWA14/Reptiles.java
new file mode 100644
index 0000000..815b5db
--- /dev/null
+++ b/src/main/java/hWA14/Reptiles.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public interface Reptiles extends Vertebrates {
+}
diff --git a/src/main/java/hWA14/Rodents.java b/src/main/java/hWA14/Rodents.java
new file mode 100644
index 0000000..428d28d
--- /dev/null
+++ b/src/main/java/hWA14/Rodents.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public abstract class Rodents implements Mammals {
+}
diff --git a/src/main/java/hWA14/Seals.java b/src/main/java/hWA14/Seals.java
new file mode 100644
index 0000000..b222eb5
--- /dev/null
+++ b/src/main/java/hWA14/Seals.java
@@ -0,0 +1,4 @@
+package hWA14;
+
+public abstract class Seals implements Mammals {
+}
diff --git a/src/main/java/hWA14/Vertebrates.java b/src/main/java/hWA14/Vertebrates.java
new file mode 100644
index 0000000..ab8c4ac
--- /dev/null
+++ b/src/main/java/hWA14/Vertebrates.java
@@ -0,0 +1,6 @@
+package hWA14;
+
+public interface Vertebrates extends Animals{
+ public void howIMove();
+ public void myNervousSystem();
+}
diff --git a/src/main/java/hWA14/Whales.java b/src/main/java/hWA14/Whales.java
new file mode 100644
index 0000000..ebbfeda
--- /dev/null
+++ b/src/main/java/hWA14/Whales.java
@@ -0,0 +1,16 @@
+package hWA14;
+
+public abstract class Whales implements Mammals {
+ protected Area habitat;
+
+ public Whales(Area habitat) {
+ this.habitat = habitat;
+ }
+
+ public Area getHabitat() {
+ return habitat;
+ }
+
+ public abstract void canSwim();
+
+}
diff --git a/src/main/java/hWA14/Wolf.java b/src/main/java/hWA14/Wolf.java
new file mode 100644
index 0000000..69fdcdd
--- /dev/null
+++ b/src/main/java/hWA14/Wolf.java
@@ -0,0 +1,70 @@
+package hWA14;
+
+public class Wolf extends Carnivores{
+ private String name;
+
+ public Wolf(Area habitat, boolean haveLegs,String name) {
+ super(habitat, haveLegs);
+ this.name=name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public void myMeals() {
+ System.out.println("My favorite meal is fresh rabbits. ");
+
+ }
+ @Override
+ public void longOfHair() {
+ System.out.println(" i have the same long of hair every where ");
+
+ }
+
+ @Override
+ public void howIMove()
+ {
+ System.out.println("I can rune fast ");
+
+ }
+
+ @Override
+ public void myNervousSystem() {
+ System.out.println(" i have spinal cord and i am vertebral");
+
+ }
+
+ @Override
+ public void canMove() {
+ System.out.println("I can move fast. ");
+
+ }
+
+ @Override
+ public void breath() {
+ System.out.println(" I can breath. ");
+
+ }
+
+ @Override
+ public void live() {
+ System.out.println(" i still a live. ");
+
+ }
+
+ @Override
+ public void reproduction() {
+ System.out.println("type reproduction: viviparous");
+
+ }
+ public String toString(){
+ return "i am a "+name+ " My habitat is "+habitat+"\nI have legs "+haveLegs;
+ }
+
+}
diff --git a/src/main/java/hWA14/Work.java b/src/main/java/hWA14/Work.java
new file mode 100644
index 0000000..7b30107
--- /dev/null
+++ b/src/main/java/hWA14/Work.java
@@ -0,0 +1,49 @@
+package hWA14;
+
+public class Work {
+ public static void main (String[]args){
+ System.out.println("guess who i am??????:");
+ Lion lionone= new Lion(Area.SELVA,true,"lion");
+ lionone.breath();
+ lionone.live();
+ lionone.reproduction();
+ lionone.howIMove();
+ lionone.longOfHair();
+ lionone.myMeals();
+ lionone.myNervousSystem();
+ System.out.println("My name is "+lionone.getName());
+ System.out.println(lionone.toString());
+ System.out.println("****************");
+
+ System.out.println("guess who i am??????:");
+ Wolf newWolf = new Wolf(Area.FOREST,true,"SpyderWolf");
+ newWolf.breath();
+ newWolf.canMove();
+ newWolf.howIMove();
+ newWolf.longOfHair();
+ newWolf.myMeals();
+ newWolf.myNervousSystem();
+ newWolf.reproduction();
+ System.out.println("My name is "+newWolf.getName());
+ System.out.println(newWolf.toString());
+ System.out.println("*******************");
+
+ System.out.println("guess who i am??????:");
+ BlueWhales superWhales=new BlueWhales(Area.OCEAN,"spyderWhales");
+ superWhales.breath();
+ superWhales.canMove();
+ superWhales.canSwim();
+ superWhales.howIMove();
+ superWhales.longOfHair();
+ superWhales.live();
+ superWhales.myNervousSystem();
+ superWhales.reproduction();
+ System.out.println("My name is "+superWhales.getName());
+ System.out.println(superWhales.toString());
+
+
+
+
+
+ }
+}
diff --git a/src/main/java/hWA15/Address.java b/src/main/java/hWA15/Address.java
new file mode 100644
index 0000000..9537429
--- /dev/null
+++ b/src/main/java/hWA15/Address.java
@@ -0,0 +1,22 @@
+package hWA15;
+
+public class Address {
+ private String address1;
+ private String address2;
+
+ public Address(String address1, String address2) {
+ this.address1 = address1;
+ this.address2 = address2;
+ }
+
+ public String getAddress1() {
+ return address1;
+ }
+
+ public String getAddress2() {
+ return address2;
+ }
+ public String printInfo(){
+ return "Address is: "+address1+" "+address2;
+ }
+}
diff --git a/src/main/java/hWA15/Name.java b/src/main/java/hWA15/Name.java
new file mode 100644
index 0000000..9185920
--- /dev/null
+++ b/src/main/java/hWA15/Name.java
@@ -0,0 +1,22 @@
+package hWA15;
+
+public class Name {
+ private String name;
+ private String lastName;
+
+ public Name(String name, String lastName) {
+ this.name = name;
+ this.lastName = lastName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+ public String printInfo(){
+ return "name: "+name+"last Name "+lastName;
+ }
+}
diff --git a/src/main/java/hWA15/Person.java b/src/main/java/hWA15/Person.java
new file mode 100644
index 0000000..0a2c66a
--- /dev/null
+++ b/src/main/java/hWA15/Person.java
@@ -0,0 +1,23 @@
+package hWA15;
+
+public class Person {
+ private Name name;
+ private Address address;
+
+ public Person(Name name, Address address) {
+ this.name = name;
+ this.address = address;
+ }
+
+ public Name getName() {
+ return name;
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+ public String printInfo(){
+ return name.printInfo()+ " "+address.printInfo();
+
+ }
+}
diff --git a/src/main/java/hWA15/Work.java b/src/main/java/hWA15/Work.java
new file mode 100644
index 0000000..f54a459
--- /dev/null
+++ b/src/main/java/hWA15/Work.java
@@ -0,0 +1,70 @@
+package hWA15;
+
+import java.util.ArrayList;
+
+public class Work {
+ public static void main(String[]args){
+ ArrayList fruits=new ArrayList<>();
+ fruits.add("apple");
+ fruits.add("peach");
+ fruits.add("pineapple");
+ fruits.add("watermelon");
+ System.out.println(fruits.size());
+ fruits.add(0,"coco");
+ System.out.println(fruits.size());
+ System.out.println(fruits.get(0));
+ fruits.remove("pineapple");
+ System.out.println(fruits.size());
+ for(String v:fruits){
+ System.out.println(v);
+ }
+
+ ArrayList numbers =new ArrayList<>();
+ numbers.add(12);
+ numbers.add(14);
+ numbers.add(123);
+ numbers.add(67);
+ System.out.println(numbers.size());
+ numbers.forEach(x-> System.out.println(x));
+ numbers.add(0,800);
+ numbers.forEach(x-> System.out.println(x));
+ numbers.remove(0);
+ numbers.forEach(v-> System.out.println(v));
+ numbers.set(0,0);
+ numbers.forEach(c-> System.out.println(c));
+
+
+ Name name1 = new Name("Ivan", "Chi");
+ Address address1 = new Address("123, Edinger str","Irvine 92604, CA");
+ Person person1=new Person(name1,address1);
+
+ Name name2 = new Name("Paul", "Zhu");
+ Address address2 = new Address("12, Harvard str","Irvine 92604, CA");
+ Person person2=new Person(name2,address2);
+
+ Person person3=new Person(name2,address1);
+
+ Person person4=new Person(name1,address2);
+
+ ArrayList students = new ArrayList<>();
+ students.add(person1);
+ person1.printInfo();
+ students.add(person2);
+ System.out.println(students.size());
+ students.forEach(c-> System.out.println(c.printInfo()));
+ students.set(1,person3);
+ System.out.println(students.size());
+ students.forEach(c-> System.out.println(c.printInfo()));
+ students.remove(0);
+ System.out.println(students.size());
+ students.forEach(c-> System.out.println(c.printInfo()));
+ students.add(person4);
+ System.out.println(students.size());
+ students.forEach(c-> System.out.println(c.printInfo()));
+
+
+ }
+
+
+ }
+
diff --git a/src/main/java/hWA16/ArtPies.java b/src/main/java/hWA16/ArtPies.java
new file mode 100644
index 0000000..8fecb3e
--- /dev/null
+++ b/src/main/java/hWA16/ArtPies.java
@@ -0,0 +1,28 @@
+package hWA16;
+
+public class ArtPies {
+ private int year;
+ private ArtType type;
+ private String nameOfArtPies;
+
+ public ArtPies(int year, ArtType type, String nameOfArtPies) {
+ this.year = year;
+ this.type = type;
+ this.nameOfArtPies = nameOfArtPies;
+ }
+
+ public int getYear() {
+ return year;
+ }
+
+ public ArtType getType() {
+ return type;
+ }
+
+ public String getNameOfArtPies() {
+ return nameOfArtPies;
+ }
+ public String printInfo(){
+ return "Artpies: "+type+" "+nameOfArtPies+" Year: "+year;
+ }
+}
diff --git a/src/main/java/hWA16/ArtType.java b/src/main/java/hWA16/ArtType.java
new file mode 100644
index 0000000..e510951
--- /dev/null
+++ b/src/main/java/hWA16/ArtType.java
@@ -0,0 +1,9 @@
+package hWA16;
+
+public enum ArtType {
+ SCULPTURE,
+ PORTRAIT,
+ LANDSCAPE,
+ NATURMORT
+
+}
diff --git a/src/main/java/hWA16/Artist.java b/src/main/java/hWA16/Artist.java
new file mode 100644
index 0000000..24bedea
--- /dev/null
+++ b/src/main/java/hWA16/Artist.java
@@ -0,0 +1,22 @@
+package hWA16;
+
+public class Artist {
+ private String name;
+ private String lastname;
+
+ public Artist(String name, String lastname) {
+ this.name = name;
+ this.lastname = lastname;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+ public String ptintInfo(){
+ return "Name of artist: "+name+" "+lastname;
+ }
+}
diff --git a/src/main/java/hWA16/Work.java b/src/main/java/hWA16/Work.java
new file mode 100644
index 0000000..a96b413
--- /dev/null
+++ b/src/main/java/hWA16/Work.java
@@ -0,0 +1,95 @@
+package hWA16;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class Work {
+ public static void main(String[]args){
+ Map colorfullfruits = new HashMap<>();
+ colorfullfruits.put("mango","yellow");
+ colorfullfruits.put("pear","green");
+ colorfullfruits.put("strawberry","red");
+ colorfullfruits.put("graips","green");
+ System.out.println(colorfullfruits.size());
+ colorfullfruits.replace("graips","purple");
+ colorfullfruits.get("graips");
+ colorfullfruits.remove("mango");
+ System.out.println(colorfullfruits.size());
+
+ for (Map.Entry kv:colorfullfruits.entrySet()){
+ System.out.print(kv.getKey()+" = ");
+ System.out.println(kv.getValue());
+ }
+
+ for (String key: colorfullfruits.keySet()){
+ System.out.println(key);
+ }
+
+ for (String value:colorfullfruits.values()){
+ System.out.println(value);
+ }
+
+ Map rooms = new HashMap<>();
+ rooms.put(1,"entrance");
+ rooms.put(2, "gestWC");
+ rooms.put(3,"salon");
+ rooms.put(4,"bedrooms");
+ System.out.println(rooms.size());
+ for (Map.Entry kv:rooms.entrySet()){
+ System.out.print(kv.getKey()+" = ");
+ System.out.println(kv.getValue());
+ }
+ rooms.replace(1,"salon");
+
+ for (Integer key: rooms.keySet()){
+ System.out.println(key);
+ }
+ rooms.remove(4);
+
+ for (String value:rooms.values()){
+ System.out.println(value);
+ }
+
+ Artist artist1=new Artist("Vasiliy","Petrov-Vodkin");
+ ArtPies artPies1 = new ArtPies(1924,ArtType.PORTRAIT,"Burlaki na Volge");
+
+ Artist artist2=new Artist("Vasiliy","Petrov-Vodkin");
+ ArtPies artPies2 = new ArtPies(1928,ArtType.PORTRAIT,"My neighbor");
+
+ Artist artist3=new Artist("Kozimir","Malevisch");
+ ArtPies artPies3 = new ArtPies(1931,ArtType.LANDSCAPE,"Abstraction1");
+
+ Artist artist4=new Artist("Diaccomo","Carovadgy");
+ ArtPies artPies4 = new ArtPies(1861,ArtType.NATURMORT,"After hunting");
+
+ Artist artist5=new Artist("Valter","Malevitch");
+
+ Map exponate=new HashMap<>();
+ exponate.put(artist1,artPies1);
+ exponate.put(artist2,artPies2);
+ exponate.put(artist3,artPies3);
+ exponate.put(artist4,artPies4);
+ System.out.println(exponate.size());
+ for (Map.Entry kv:exponate.entrySet()){
+ System.out.println( kv.getKey().ptintInfo()+" = "+ kv.getValue().printInfo());
+ }
+ exponate.replace(artist4,artPies1);
+ System.out.println(exponate.size());
+
+ for (ArtPies value:exponate.values()){
+ System.out.println(value.printInfo());
+ }
+ exponate.remove(artist4);
+ System.out.println(exponate.size());
+
+ for (Artist key: exponate.keySet()){
+ System.out.println(key.ptintInfo());
+ }
+
+
+
+
+
+
+ }
+}
diff --git a/src/main/java/hWA16_1/Address.java b/src/main/java/hWA16_1/Address.java
new file mode 100644
index 0000000..6d79816
--- /dev/null
+++ b/src/main/java/hWA16_1/Address.java
@@ -0,0 +1,34 @@
+package hWA16_1;
+
+public class Address {
+ private String streetAddress;
+ private String town;
+ private String state;
+ private int zip;
+
+ public Address(String streetAddress, String town, String state, int zip) {
+ this.streetAddress = streetAddress;
+ this.town = town;
+ this.state = state;
+ this.zip = zip;
+ }
+
+ public String getStreetAddress() {
+ return streetAddress;
+ }
+
+ public String getTown() {
+ return town;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public int getZip() {
+ return zip;
+ }
+ public String printInfo(){
+ return "Address of Hospital: "+"\nStreet address: "+streetAddress+"\nTown: "+town+"\nState: "+state+" "+zip;
+ }
+}
diff --git a/src/main/java/hWA16_1/Doctor.java b/src/main/java/hWA16_1/Doctor.java
new file mode 100644
index 0000000..700da0f
--- /dev/null
+++ b/src/main/java/hWA16_1/Doctor.java
@@ -0,0 +1,28 @@
+package hWA16_1;
+
+public class Doctor {
+ private String name;
+ private String lastName;
+ private Position position;
+
+ public Doctor(String name, String lastName, Position position) {
+ this.name = name;
+ this.lastName = lastName;
+ this.position = position;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public Position getPosition() {
+ return position;
+ }
+ public String printInfo(){
+ return "Doctor: "+name+" "+lastName+" "+position;
+ }
+}
diff --git a/src/main/java/hWA16_1/Hospital.java b/src/main/java/hWA16_1/Hospital.java
new file mode 100644
index 0000000..9c0555d
--- /dev/null
+++ b/src/main/java/hWA16_1/Hospital.java
@@ -0,0 +1,55 @@
+package hWA16_1;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class Hospital {
+ private String hospitalName;
+ private Address address;
+ private ArrayList doctors;
+ private HashMap rooms;
+ private ArrayList acceptedInsurances;
+
+ public Hospital(String hospitalName, Address address, ArrayList doctors, HashMap rooms, ArrayList acceptInacceptInsurances) {
+ this.hospitalName = hospitalName;
+ this.address = address;
+ this.doctors = doctors;
+ this.rooms = rooms;
+ this.acceptedInsurances = acceptInacceptInsurances;
+ }
+ public Hospital(String hospitalName, Address address,ArrayList acceptInacceptInsurances) {
+ this.hospitalName = hospitalName;
+ this.address = address;
+ this.acceptedInsurances = acceptInacceptInsurances;
+
+ }
+
+
+
+ public String getHospitalName() {
+ return hospitalName;
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+
+ public void printInfo(){
+ System.out.println(hospitalName + "\n"+address.printInfo());
+ System.out.println("List of insurances:");
+ acceptedInsurances.forEach(i -> System.out.println(i));
+ }
+
+ public ArrayList getDoctors() {
+ return doctors;
+ }
+
+ public HashMap getRooms() {
+ return rooms;
+ }
+
+ public ArrayList getAcceptInacceptInsurances() {
+ return acceptedInsurances;
+ }
+
+}
diff --git a/src/main/java/hWA16_1/InsuranceCompanies.java b/src/main/java/hWA16_1/InsuranceCompanies.java
new file mode 100644
index 0000000..1b8413d
--- /dev/null
+++ b/src/main/java/hWA16_1/InsuranceCompanies.java
@@ -0,0 +1,9 @@
+package hWA16_1;
+
+public enum InsuranceCompanies {
+ AETNA,
+ UNITEDHEALTHCARE,
+ NATIONAL_GENERAL,
+ PIVOT
+
+}
diff --git a/src/main/java/hWA16_1/Position.java b/src/main/java/hWA16_1/Position.java
new file mode 100644
index 0000000..34aa7c4
--- /dev/null
+++ b/src/main/java/hWA16_1/Position.java
@@ -0,0 +1,11 @@
+package hWA16_1;
+
+public enum Position {
+ PHYSICIAN,
+ OTOLARINGOLOG,
+ ALLERGOLOG,
+ CARDIOLOG,
+ PSICOTERAPEVT
+
+
+}
diff --git a/src/main/java/hWA16_1/Work.java b/src/main/java/hWA16_1/Work.java
new file mode 100644
index 0000000..9b2cb4a
--- /dev/null
+++ b/src/main/java/hWA16_1/Work.java
@@ -0,0 +1,50 @@
+package hWA16_1;
+
+import javax.print.Doc;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+public class Work {
+ public static void main(String[]args) {
+ Address address1 = new Address("132, Howard Blvd", "Irvine", "CA", 92604);
+ Doctor doctor1 = new Doctor("Henry", "Voge", Position.ALLERGOLOG);
+ Doctor doctor2 = new Doctor("Nancy", "Cromvel", Position.CARDIOLOG);
+ Doctor doctor3 = new Doctor("Kira", "Vagner", Position.OTOLARINGOLOG);
+ Doctor doctor4 = new Doctor("Zhi", "Chang", Position.PHYSICIAN);
+ ArrayList doctors = new ArrayList();
+ doctors.add(0, doctor1);
+ doctors.add(1, doctor2);
+ doctors.add(2, doctor3);
+ doctors.add(3, doctor4);
+ HashMap rooms = new HashMap<>();
+ rooms.put(1, "Gastroenterology");
+ rooms.put(0, "Alergology");
+ rooms.put(3, "Oftalmology");
+ rooms.put(2, "Otolaringology");
+ rooms.put(4, "Generalist");
+ ArrayList acceptInsurances = new ArrayList<>();
+ acceptInsurances.add(0, InsuranceCompanies.AETNA);
+ acceptInsurances.add(1, InsuranceCompanies.NATIONAL_GENERAL);
+ acceptInsurances.add(2, InsuranceCompanies.PIVOT);
+ acceptInsurances.add(3, InsuranceCompanies.UNITEDHEALTHCARE);
+
+
+ Hospital hospital1 = new Hospital("Hoag Irvine", address1,acceptInsurances);
+
+ hospital1.printInfo();
+
+
+ for(Doctor x:doctors){
+ System.out.println( x.printInfo());
+ }
+
+ System.out.println("Rooms of the hospital:");
+
+ for (Map.Entry kv:rooms.entrySet()){
+ System.out.println( +kv.getKey()+" - "+ kv.getValue());
+ }
+
+
+ }
+}
diff --git a/src/main/java/hWA7/Max.java b/src/main/java/hWA7/Max.java
new file mode 100644
index 0000000..477bfca
--- /dev/null
+++ b/src/main/java/hWA7/Max.java
@@ -0,0 +1,14 @@
+package hWA7;
+
+public class Max {
+ public static int max(int []listone){
+ int max =-100000000;
+ for(int v:listone){
+ if(v>max){
+ max = v;
+ }
+ }
+
+ return max;
+ }
+}
diff --git a/src/main/java/hWA7/Min.java b/src/main/java/hWA7/Min.java
new file mode 100644
index 0000000..822722d
--- /dev/null
+++ b/src/main/java/hWA7/Min.java
@@ -0,0 +1,14 @@
+package hWA7;
+
+public class Min {
+ public static int min(int []listone){
+ int min =100000000;
+ for(int i=0;i listone[i + 1]) {
+ temp = listone[i];
+ listone[i] = listone[i + 1];
+ listone[i + 1] = temp;
+ newlist = listone;
+ }
+ }
+ }
+
+
+ return newlist;
+
+ }
+}
+
+
+
+
diff --git a/src/main/java/hWA7/Sum.java b/src/main/java/hWA7/Sum.java
new file mode 100644
index 0000000..70caf8d
--- /dev/null
+++ b/src/main/java/hWA7/Sum.java
@@ -0,0 +1,11 @@
+package hWA7;
+
+public class Sum {
+ public static int sum(int[] list1) {
+ int summa =0;
+ for (int x : list1) {
+ summa = summa + x;
+ }
+ return summa;
+ }
+}
diff --git a/src/main/java/hWA7/Work.java b/src/main/java/hWA7/Work.java
new file mode 100644
index 0000000..af3aafd
--- /dev/null
+++ b/src/main/java/hWA7/Work.java
@@ -0,0 +1,34 @@
+package hWA7;
+
+import static hWA7.Max.max;
+import static hWA7.Min.min;
+import static hWA7.Sort.sort;
+import static hWA7.Sum.sum;
+
+public class Work {
+ public static void main(String[]args){
+ Sort sort=new Sort();
+ Sum sum = new Sum();
+
+ int[] list = new int[]{2, 3, 4, 5, 6, 7, 8};
+ System.out.print(sum(list));
+ System.out.println("+++++++++++++++++++++++++++");
+
+ int[] listone = new int []{3,9,1,8,4,8,5};
+ int [] listtwo = sort(listone);
+
+ for (int x:listtwo) {
+ System.out.print(x+" ");
+ }
+ System.out.println("___________________");
+ System.out.print(min(listone));
+
+ System.out.println("___________________");
+ System.out.print(max(listone));
+
+
+
+ }
+}
+
+
diff --git a/src/main/java/hWA8/Airplane.java b/src/main/java/hWA8/Airplane.java
new file mode 100644
index 0000000..a1153a8
--- /dev/null
+++ b/src/main/java/hWA8/Airplane.java
@@ -0,0 +1,19 @@
+package hWA8;
+
+public class Airplane {
+ public String brand;
+ public String model;
+ public int capacity;
+ public int numPassangers;
+ public String condition;
+ public int price;
+ public int numHr;
+ public String type;
+
+ public void printInfo(){ System.out.println("Airplane: "+brand+", model:"+model+", Type: "+type+", condition: "+condition); }
+ public void commercialInfo(){ System.out.println("Commercia Informatiom of airplane: "+brand+"\nModel:"+model+", Type: "+type+"\nCondition: "+condition+"\n\tPrice: "
+ +price); }
+ public void technicalInfo(){ System.out.println("Technical Informatiom of airplane: "+brand+"\nModel:"+model+", Type: "+type+"\nCondition: "+condition+
+ "\n\tCapacity: " +capacity+" M3 "+", passangers: "+numPassangers+"\nNumbers of Hr of flight: "+numHr); }
+
+}
diff --git a/src/main/java/hWA8/Boat.java b/src/main/java/hWA8/Boat.java
new file mode 100644
index 0000000..5beaef6
--- /dev/null
+++ b/src/main/java/hWA8/Boat.java
@@ -0,0 +1,18 @@
+package hWA8;
+
+public class Boat {
+ public String name;
+ public int year;
+ public int price;
+ public String engine;
+ public String portName;
+ public double tankVolume;
+ public double spead;
+ public int numPassangers;
+ public String type;
+
+ public void printInfo(){System.out.println("Boat: "+name+"\nYear of construction - "+year+"\nEngine: "+engine+"\nPort: "+portName);}
+ public void commercialInfo(){System.out.println("Commercial Information:"+"\nBoat: "+name+", Year of construction"+year+", Engine: "+engine+", Price: "+price);}
+ public void technicalInfo(){System.out.println("Technical Information:"+"\nBoat: "+name+", Year of construction"+year+", Engine: "+engine+", Volume of tank: "+tankVolume+", Spead: "+spead+" km/h");}
+ public void capacityOfBoat(){System.out.println("Boat: "+name+" with Capacity of "+numPassangers+" passangers");}
+}
diff --git a/src/main/java/hWA8/Book.java b/src/main/java/hWA8/Book.java
new file mode 100644
index 0000000..dace190
--- /dev/null
+++ b/src/main/java/hWA8/Book.java
@@ -0,0 +1,17 @@
+package hWA8;
+
+public class Book {
+ public String name;
+ public int numberOfPages;
+ public String digital;
+ public String author;
+ public int year;
+ public String hardEdition;
+ public String condition;
+
+ public void printInfo(){System.out.println("Book "+name+", Author: "+author+", was edited in "+year
+ );}
+ public void conditionBook(){System.out.println("Book: "+name+"\nCondition: "+condition);}
+ public void bookEdition(){System.out.println("Book: "+name+", Author "+author+", Digital Edition: "+digital+", Paper Edition: "+hardEdition);}
+ public void bookSize(){System.out.println("Book: "+name+", Author: "+author+", number of pages: "+numberOfPages);}
+}
diff --git a/src/main/java/hWA8/Cat.java b/src/main/java/hWA8/Cat.java
new file mode 100644
index 0000000..c605594
--- /dev/null
+++ b/src/main/java/hWA8/Cat.java
@@ -0,0 +1,16 @@
+package hWA8;
+
+public class Cat {
+ public String name;
+ public String bride;
+ public int age;
+ public String country;
+
+ public void printInfo(){
+ System.out.print("Cat with name: "+name+"\nfrom country: "+country+"\n\tbride: "+bride+"\n\tage: "+age);
+ System.out.println("");
+ }
+ public void catSlip(){System.out.println("Cat with name "+name+" is sliping");}
+ public void catSong(){System.out.println("Cat " +name+" say "+ " Miau=Miau");}
+ public void catMoving(){System.out.println("Cat "+name+" is jumping");}
+}
diff --git a/src/main/java/hWA8/Work.java b/src/main/java/hWA8/Work.java
new file mode 100644
index 0000000..2d81f41
--- /dev/null
+++ b/src/main/java/hWA8/Work.java
@@ -0,0 +1,132 @@
+package hWA8;
+
+public class Work {
+ public static void main(String[] args) {
+ Cat myCat = new Cat();
+ Book myBook = new Book();
+ Boat myBoat = new Boat();
+ Airplane airplane=new Airplane();
+
+ myCat.country="USA";
+ myCat.age=2;
+ myCat.bride="DvorCat";
+ myCat.name="Pussy";
+
+ myCat.printInfo();
+ myCat.catMoving();
+ myCat.catSlip();
+ myCat.catSong();
+ System.out.println("");
+
+ myCat.country="Germany";
+ myCat.age=8;
+ myCat.bride="Gipsy";
+ myCat.name="Lion";
+
+ myCat.printInfo();
+ myCat.catMoving();
+ myCat.catSlip();
+ myCat.catSong();
+
+ System.out.println("");
+
+ myBook.numberOfPages=208;
+ myBook.author="Paulo Coelho";
+ myBook.hardEdition="Yes";
+ myBook.digital="Yes";
+ myBook.condition="New";
+ myBook.name="Alchemist - 25th Aniv.";
+ myBook.year=2013;
+
+ myBook.printInfo();
+ myBook.bookEdition();
+ myBook.bookSize();
+ myBook.conditionBook();
+
+ System.out.println("");
+
+ myBook.numberOfPages=504;
+ myBook.author="Karen Cho";
+ myBook.hardEdition="Yes";
+ myBook.digital="No";
+ myBook.condition="Used";
+ myBook.name="Gerra na Lua";
+ myBook.year=2012;
+
+ myBook.printInfo();
+ myBook.bookEdition();
+ myBook.bookSize();
+ myBook.conditionBook();
+
+ System.out.println("");
+
+ myBoat.numPassangers=6;
+ myBoat.spead=10.0;
+ myBoat.tankVolume = 100;
+ myBoat.portName="Dana Point";
+ myBoat.engine = "Gas";
+ myBoat.name = "Estrela do Mar";
+ myBoat.price = 13000;
+ myBoat.type="leasure";
+ myBoat.year=2013;
+
+ myBoat.printInfo();
+ myBoat.capacityOfBoat();
+ myBoat.commercialInfo();
+ myBoat.technicalInfo();
+
+
+ System.out.println("");
+
+ myBoat.numPassangers=4;
+ myBoat.spead=10.0;
+ myBoat.tankVolume = 80;
+ myBoat.portName="Dana Point";
+ myBoat.engine = "Wing";
+ myBoat.name = "Coco";
+ myBoat.price = 4000;
+ myBoat.type="leasure";
+ myBoat.year=2011;
+
+ myBoat.printInfo();
+ myBoat.capacityOfBoat();
+ myBoat.commercialInfo();
+ myBoat.technicalInfo();
+
+ System.out.println("");
+ airplane.numHr=8000;
+ airplane.numPassangers=235;
+ airplane.capacity=18000;
+ airplane.condition="used";
+ airplane.type="commercial";
+ airplane.brand="Boing";
+ airplane.model="A-999";
+ airplane.price=230000;
+
+ airplane.printInfo();
+ airplane.commercialInfo();
+ airplane.technicalInfo();
+
+
+
+ System.out.println("");
+ airplane.numHr=1000;
+ airplane.numPassangers=500;
+ airplane.capacity=16000;
+ airplane.condition="new";
+ airplane.type="commercial";
+ airplane.brand="Airbus";
+ airplane.model="A-3565";
+ airplane.price=1800000;
+
+ airplane.printInfo();
+ airplane.commercialInfo();
+ airplane.technicalInfo();
+
+
+
+
+
+
+ }
+}
diff --git a/src/main/java/hWAFibonacciNumbers.java b/src/main/java/hWAFibonacciNumbers.java
new file mode 100644
index 0000000..e06e8c7
--- /dev/null
+++ b/src/main/java/hWAFibonacciNumbers.java
@@ -0,0 +1,14 @@
+public class hWAFibonacciNumbers {
+ public static void main(String[] args) {
+ int n=9;
+ int n1=0;int n2=1;
+ System.out.println("sequence of "+n+" Fibonacci numbers");
+ for(int i=1;i<=n;i++){
+ System.out.println(n1+" ");
+ int someOfTwo = n1+n2;
+ n1=n2;
+ n2=someOfTwo;
+ }
+
+ }
+}
diff --git a/src/main/java/hWAMaxNumber.java b/src/main/java/hWAMaxNumber.java
new file mode 100644
index 0000000..5841694
--- /dev/null
+++ b/src/main/java/hWAMaxNumber.java
@@ -0,0 +1,19 @@
+public class hWAMaxNumber {
+ public static void main(String[] args) {
+ int[] numbers=new int[]{23,1,5,56,567,78,98,6,900};
+ printMaxNumber(numbers);
+ }
+ public static void printMaxNumber(int[] numbers){
+ int max = numbers[0];
+ for(int i=1;i list = new ArrayList();
+ list.add(2);
+ list.add(23);
+ list.add(32);
+ list.add(88);
+ list.add(98);
+
+ int max = list.get(0);
+ for (int xx : list) {
+
+
+ for (int i = 1; i < list.size(); i++) {
+ if (max < xx) {
+ max = xx;
+ }
+
+ }
+
+ }
+ System.out.println(max);
+ }
+ }
+
+
+
diff --git a/src/main/java/hWAOddNumbers.java b/src/main/java/hWAOddNumbers.java
new file mode 100644
index 0000000..2c11154
--- /dev/null
+++ b/src/main/java/hWAOddNumbers.java
@@ -0,0 +1,14 @@
+public class hWAOddNumbers {
+ public static void main(String[] args) {
+ int[] list = new int[]{7, 8, 9, 56, 34, 22, 32, 45, 56, 65};
+ printOddNumbers(list);
+ }
+
+ private static void printOddNumbers(int[] list) {
+ for(int x:list){
+ if(x%2==1){
+ System.out.println(x);
+ }
+ }
+ }
+}
diff --git a/src/main/java/hWASortByKeyNumberHashMap.java b/src/main/java/hWASortByKeyNumberHashMap.java
new file mode 100644
index 0000000..e740a2f
--- /dev/null
+++ b/src/main/java/hWASortByKeyNumberHashMap.java
@@ -0,0 +1,28 @@
+import java.util.*;
+
+public class hWASortByKeyNumberHashMap {
+ public static void main(String[] args) {
+ Map list = new HashMap<>();
+ list.put(2, "a");
+ list.put(4, "k");
+ list.put(8, "z");
+ list.put(1, "h");
+ List listByKey = new ArrayList<>(list.keySet());
+ Collections.sort(listByKey);
+ for(Integer xx:listByKey){
+ System.out.println(xx);
+ }
+ Map listOne = new HashMap<>();
+
+ for (Integer i = 0; i < listByKey.size(); i++) {
+
+ listOne.put(listByKey.get(i), list.get(listByKey.get(i)));
+
+
+ }
+ for (Map.Entry kv : listOne.entrySet()) {
+ System.out.println(kv.getKey()+" " +kv.getValue());
+
+ }
+ }
+}
diff --git a/src/main/java/hWAcountElementsOfArray.java b/src/main/java/hWAcountElementsOfArray.java
new file mode 100644
index 0000000..c126583
--- /dev/null
+++ b/src/main/java/hWAcountElementsOfArray.java
@@ -0,0 +1,51 @@
+import java.util.ArrayList;
+import java.util.List;
+
+public class hWAcountElementsOfArray {
+
+ public static void main(String[] args) {
+ String[] text = { "a", "a", "r", "d", "f", "f", "a", "a", "a", "a", "a","f","f"};
+ //"a", "a", "r", "d", "f", "f", "a", "a", "a", "a",
+ List result = new ArrayList<>();
+
+ for (int i = 0; i < text.length - 1; i++) {
+ // if (text[i].equals(text[i + 1])) {
+ int count = 1;
+ String letter = text[i];
+ while (letter.equals(text[i]) && i < text.length) {
+ i++;
+ count++;
+ }
+ result.add(letter + count);
+
+
+ }
+ System.out.println(result);
+
+
+// int s = text.length;
+// int count = 1;
+// String temp = "";
+// if (s == 0) {
+// System.out.println("please, provide numbers for array");
+// } else if (s == 1) {
+// System.out.println(text[0] + " " + 1);
+// } else
+// for (int i = 0; i 0){
+ String temp=list[x];
+ list[x]=list[j];
+ list[j]=temp;
+ }
+ }
+ }
+
+
+ for(int i=0;i headers;
+ protected final String baseUrl = "http://booklibrarywebapidev.azurewebsites.net/";
+
+ void booksBaseTest(){
+ headers=new HashMap<>();
+ headers.put("Authorization","Basic YWJjQHh5ei5jb206VGVzdHRlc3QxMjMh");
+ headers.put("Content-Type","application/JSON");
+ }
+}
diff --git a/src/test/java/apiTest/HWTestDb.java b/src/test/java/apiTest/HWTestDb.java
new file mode 100644
index 0000000..21ed5a9
--- /dev/null
+++ b/src/test/java/apiTest/HWTestDb.java
@@ -0,0 +1,25 @@
+package apiTest;
+
+
+import helpers.HwDbAdapter;
+import models.Playlist;
+import models.SongsOfArtist;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import java.sql.SQLException;
+
+public class HWTestDb {
+
+ @Test
+ public void getSongs_ListOfAllSongs_returned() throws SQLException {
+ HwDbAdapter.getAllSongs();
+ }
+ @Test
+ public void getListOfSongsByArtistId() throws SQLException {
+ SongsOfArtist songs = HwDbAdapter.getListOfSongsByNameOfArtist("Ketsa");
+
+ Assert.assertTrue(songs.name.equals("Ketsa"));
+ }
+ }
+
diff --git a/src/test/java/apiTest/Hw14SelAndAPI.java b/src/test/java/apiTest/Hw14SelAndAPI.java
new file mode 100644
index 0000000..2456c0c
--- /dev/null
+++ b/src/test/java/apiTest/Hw14SelAndAPI.java
@@ -0,0 +1,60 @@
+package apiTest;
+
+import io.restassured.response.Response;
+import org.openqa.selenium.Keys;
+import org.openqa.selenium.StaleElementReferenceException;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.chrome.ChromeDriver;
+import org.openqa.selenium.support.ui.FluentWait;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+import pageObjects.BasePage;
+import tests.HomepageTests;
+
+import java.time.Duration;
+
+import static io.restassured.RestAssured.given;
+
+public class Hw14SelAndAPI {
+ private WebDriver driver;
+
+// private FluentWait fluentWait;
+// private int playlist_id;
+// private String token;
+//
+// @BeforeMethod
+// public void startUp() {
+// System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
+// driver = new ChromeDriver();
+//
+// // explicitWait = new WebDriverWait(driver, 10);
+// fluentWait = new FluentWait(driver)
+// .withTimeout(Duration.ofSeconds(10))
+// .pollingEvery(Duration.ofMillis(100))
+// .ignoring(Exception.class)
+// .ignoring(StaleElementReferenceException.class);
+//
+//// driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
+// driver.get("https://koelapp.testpro.io/");
+// }
+// @AfterMethod
+// public void tearDown(){
+// Response response = given()
+// .baseUri("https://koelapp.testpro.io/")
+// .header("Authorization","Bearer "+token)
+// .basePath("api/playlist/"+playlist_id)
+// .when()
+// .delete();
+// }
+// @Test
+//
+// public String createNewPlaylist(String name) {
+// getPlusButton().click();
+// getNewPlaylistNameField().sendKeys(name);
+// getNewPlaylistNameField().sendKeys(Keys.ENTER);
+// String str = driver.getCurrentUrl();
+// return str.split("/")[5];
+// }
+
+}
diff --git a/src/test/java/apiTest/Hw15books.java b/src/test/java/apiTest/Hw15books.java
new file mode 100644
index 0000000..a06362a
--- /dev/null
+++ b/src/test/java/apiTest/Hw15books.java
@@ -0,0 +1,70 @@
+package apiTest;
+
+import com.google.gson.Gson;
+import helpers.Data;
+import helpers.TestData;
+import helpers.Token;
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
+import models.*;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.util.*;
+
+import static io.restassured.RestAssured.given;
+
+public class Hw15books {
+ private String token;
+ private int playlist_id;
+ private String newBookLabel;
+ private int bookId = 802;
+ private String bookLabel ="Hey";
+ private Map headers;
+ private final String baseUrl = "http://booklibrarywebapidev.azurewebsites.net/";
+
+ public void booksBaseTest(){
+ headers=new HashMap<>();
+ headers.put("Authorization","Basic YWJjQHh5ei5jb206VGVzdHRlc3QxMjMh");
+ headers.put("Content-Type","application/JSON");
+ }
+
+ @Test
+ public void getAutentificationBooks(){
+ RestAssured.baseURI=baseUrl;
+ RestAssured.given().auth().basic("abc@xyz.com","Testtest123!")
+ .when()
+ .get()
+ .then()
+ .assertThat()
+ .statusCode(200);
+
+
+ }
+
+
+
+ @Test
+ public void getBookById_BookReturned(int bookId,String bookLabel) {
+ Response response = given()
+ .baseUri(baseUrl)
+ .auth().basic("abc@xyz.com","Testtest123!")
+ .basePath("api/books/id/"+bookId)
+ .when()
+ .get()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ GetBookByIdResponse getBookByIdResponse = jsonPath.getObject("$", GetBookByIdResponse.class);
+ newBookLabel=getBookByIdResponse.label;
+ Assert.assertEquals(bookLabel,newBookLabel);
+
+ }
+}
diff --git a/src/test/java/apiTest/Hw1Api.java b/src/test/java/apiTest/Hw1Api.java
new file mode 100644
index 0000000..d27be8c
--- /dev/null
+++ b/src/test/java/apiTest/Hw1Api.java
@@ -0,0 +1,105 @@
+package apiTest;
+
+import com.google.gson.Gson;
+import helpers.Data;
+import helpers.TestData;
+import helpers.Token;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
+import models.*;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.BeforeSuite;
+import org.testng.annotations.Test;
+
+import java.util.*;
+
+import static io.restassured.RestAssured.*;
+
+public class Hw1Api {
+ private String token;
+ private int playlist_id;
+ private String playlistName = TestData.randomString();
+ private String newPlaylistName = TestData.randomString();
+
+ // @Parameters({"email","password"})
+ @BeforeSuite
+ public void init(){
+ token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02");
+ }
+ @AfterMethod
+ public void tearDown(){
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist/"+playlist_id)
+ .when()
+ .delete();
+ }
+
+ @BeforeMethod
+ public void playlistTests_createPlaylist_PlaylistCreated() {
+
+ String[] rules = {};
+ var playlist = new CreatePlaylistRequest(playlistName, rules);
+ var requestBody = new Gson().toJson(playlist);
+
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization", "Bearer " + token)
+ .basePath("api/playlist")
+ .contentType(ContentType.JSON)
+ .body(requestBody)
+ .when()
+ .post()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ CreatePlaylistResponse createdPlaylist = jsonPath.getObject("$", CreatePlaylistResponse.class);
+ playlist_id = createdPlaylist.id;
+
+
+ }
+
+
+ @Test
+ public void playlistTests_renamePlaylist_PlaylistRenamed(){
+ var reNamedPlaylist = new RenamePlaylistRequest(newPlaylistName);
+ var requestBodyRenamePlaylist = new Gson().toJson(reNamedPlaylist);
+ Response responseOne = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist/"+playlist_id)
+ .contentType(ContentType.JSON)
+ .body(requestBodyRenamePlaylist)
+ .when()
+ .patch()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPathOne = responseOne.jsonPath();
+ RenamePlayListResponse renamedPlaylist = jsonPathOne.getObject("$",RenamePlayListResponse.class);
+
+ Assert.assertNotEquals(renamedPlaylist.name,playlistName);
+ Assert.assertEquals(renamedPlaylist.id,playlist_id);
+ var data = Data.getData();
+ List renamedPlaylists = new ArrayList(Arrays.asList(data.playlists));
+ int count=0;
+ for(Playlist pl:renamedPlaylists){
+ if(pl.id==renamedPlaylist.id){
+ count++;
+ }
+ }
+ Assert.assertEquals(count,1);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/src/test/java/apiTest/PlaylistTestDb.java b/src/test/java/apiTest/PlaylistTestDb.java
new file mode 100644
index 0000000..9b3a789
--- /dev/null
+++ b/src/test/java/apiTest/PlaylistTestDb.java
@@ -0,0 +1,79 @@
+package apiTest;
+
+import com.google.gson.Gson;
+import helpers.Data;
+import helpers.DbAdapter;
+import helpers.TestData;
+import helpers.Token;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
+import models.CreatePlaylistRequest;
+import models.CreatePlaylistResponse;
+
+import models.Playlist;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static io.restassured.RestAssured.given;
+
+public class PlaylistTestDb {
+ private int playlist_id;
+ private String token;
+ @BeforeMethod
+ public void startUp(){
+ token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02");
+
+ }
+ @AfterMethod
+ public void tearDown(){
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist/"+playlist_id)
+ .when()
+ .delete();
+ }
+ @Test
+ public void playlistTests_CreatePlaylistDb_PlaylistCreated() throws SQLException {
+ String playlistName = TestData.randomString();
+ String[] rules = {};
+ var CreatedPlaylist = new CreatePlaylistRequest(playlistName,rules);
+ var requestBody = new Gson().toJson(CreatedPlaylist);
+
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist")
+ .contentType(ContentType.JSON)
+ .body(requestBody)
+ .when()
+ .post()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ CreatePlaylistResponse createdPlaylist = jsonPath.getObject("$",CreatePlaylistResponse.class);
+ playlist_id=createdPlaylist.id;
+ Assert.assertEquals(CreatedPlaylist.name,createdPlaylist.name);
+ Assert.assertEquals(createdPlaylist.songs.length,0);
+
+ Playlist playlist = DbAdapter.getPlaylistsById(playlist_id);
+
+ Assert.assertNotNull(playlist, "Object is not't found on DB");
+
+ Assert.assertNotEquals(playlistName, playlist.name);
+
+ }
+ }
+
+
diff --git a/src/test/java/apiTest/PlaylistTests.java b/src/test/java/apiTest/PlaylistTests.java
new file mode 100644
index 0000000..2b4494a
--- /dev/null
+++ b/src/test/java/apiTest/PlaylistTests.java
@@ -0,0 +1,99 @@
+package apiTest;
+
+import com.google.gson.Gson;
+import helpers.Data;
+import helpers.TestData;
+import helpers.Token;
+import io.restassured.http.ContentType;
+import io.restassured.http.Header;
+import io.restassured.http.Headers;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
+import models.CreatePlaylistRequest;
+import models.CreatePlaylistResponse;
+import models.DataResponse;
+import models.Playlist;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static io.restassured.RestAssured.*;
+
+public class PlaylistTests {
+ private String token;
+ private int playlist_id;
+ // @Parameters({"email","password"})
+ @BeforeMethod
+ public void init(){
+ token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02");
+ }
+ @AfterMethod
+ public void tearDown(){
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist/"+playlist_id)
+ .when()
+ .delete();
+ }
+
+ @Test
+ public void playlistTests_CreatePlaylist_PlaylistCreated(){
+ String playlistName = TestData.randomString();
+ String[] rules = {};
+ var playlist = new CreatePlaylistRequest(playlistName,rules);
+ var requestBody = new Gson().toJson(playlist);
+
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist")
+ .contentType(ContentType.JSON)
+ .body(requestBody)
+ .when()
+ .post()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ CreatePlaylistResponse createdPlaylist = jsonPath.getObject("$",CreatePlaylistResponse.class);
+ playlist_id=createdPlaylist.id;
+ Assert.assertEquals(playlist.name,createdPlaylist.name);
+ Assert.assertEquals(createdPlaylist.songs.length,0);
+ var data = Data.getData();
+ List playlists = new ArrayList(Arrays.asList(data.playlists));
+ int count=0;
+ for(Playlist pl:playlists){
+ if(pl.id==createdPlaylist.id){
+ count++;
+ }
+ }
+ Assert.assertEquals(count,1);
+ }
+
+ @Test
+ public void getAllData_DataReturned(){
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/data")
+ .when()
+ .get()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ var data = jsonPath.getObject("$", DataResponse.class);
+ System.out.println(data.playlists.length);
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/apiTest/RenamePlaylist.java b/src/test/java/apiTest/RenamePlaylist.java
new file mode 100644
index 0000000..80b857a
--- /dev/null
+++ b/src/test/java/apiTest/RenamePlaylist.java
@@ -0,0 +1,79 @@
+package apiTest;
+
+import com.google.gson.Gson;
+import helpers.Data;
+import helpers.TestData;
+import helpers.Token;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
+import models.Playlist;
+import models.RenamePlayListResponse;
+import models.RenamePlaylistRequest;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static io.restassured.RestAssured.given;
+
+public class RenamePlaylist {
+ private int id;
+ private String token;
+ @BeforeMethod
+ public void startUp(){
+ String name = TestData.randomString();
+ var createdPlaylist = Data.createPlaylist(name);
+ id = createdPlaylist.id;
+ token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02");
+
+ }
+ @AfterMethod
+ public void tearDown(){
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist/"+id)
+ .when()
+ .delete();
+
+ }
+ @Test
+ public void renamePlaylist_PlaylistRenamed(){
+ String newName= TestData.randomString();
+ RenamePlaylistRequest renamePlaylistRequest = new RenamePlaylistRequest(newName);
+ var requestBodyRenamePlaylist = new Gson().toJson(renamePlaylistRequest);
+ Response responseOne = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization","Bearer "+token)
+ .basePath("api/playlist/"+id)
+ .contentType(ContentType.JSON)
+ .body(requestBodyRenamePlaylist)
+ .when()
+ .patch()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPathOne = responseOne.jsonPath();
+ var playlist = jsonPathOne.getObject("$",RenamePlayListResponse.class);
+
+ Assert.assertNotEquals(playlist.name,newName);
+ Assert.assertEquals(playlist.id,id);
+ var data = Data.getData();
+ int count =0;
+ for(Playlist pl: data.playlists){
+ if(pl.name.equals(newName)){
+
+ count++;
+ }
+ }
+ Assert.assertEquals(count,1);
+ }
+}
+
diff --git a/src/test/java/apiTest/TestDb.java b/src/test/java/apiTest/TestDb.java
new file mode 100644
index 0000000..dc25a16
--- /dev/null
+++ b/src/test/java/apiTest/TestDb.java
@@ -0,0 +1,27 @@
+package apiTest;
+
+import helpers.DbAdapter;
+import models.Playlist;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import java.sql.SQLException;
+
+public class TestDb {
+ @Test
+ public void getArtists_ListOfArtistReturned() throws SQLException {
+ DbAdapter.getArtists();
+ }
+
+ @Test
+ public void getPlaylists_ListOfPlaylists_returned() throws SQLException {
+ DbAdapter.getAllPlaylists();
+ }
+
+ @Test
+ public void getSinglePlaylistById() throws SQLException {
+ Playlist pl = DbAdapter.getPlaylistsById(19);
+ Assert.assertEquals(pl.name,"Dima");
+ }
+
+}
diff --git a/src/test/java/browserFactory/BrowserFactory.java b/src/test/java/browserFactory/BrowserFactory.java
index 6ce023d..ba2ea78 100644
--- a/src/test/java/browserFactory/BrowserFactory.java
+++ b/src/test/java/browserFactory/BrowserFactory.java
@@ -26,7 +26,7 @@ private static WebDriver getOperaDriver() {
OperaOptions options = new OperaOptions();
options.addArguments("window-size=1400,1000");
// options.addArguments("--headless");
- System.setProperty("webdriver.opera.driver","operadriver.exe");
+ System.setProperty("webdriver.opera.driver","operadriver");
return new OperaDriver(options);
}
@@ -34,7 +34,7 @@ private static WebDriver getChromeDriver() {
ChromeOptions options = new ChromeOptions();
options.addArguments("window-size=1400,1000");
options.addArguments("--headless");
- System.setProperty("webdriver.chrome.driver","chromedriver.exe");
+ System.setProperty("webdriver.chrome.driver","chromedriver");
return new ChromeDriver(options);
}
@@ -43,8 +43,8 @@ private static WebDriver getFirefoxDriver() {
FirefoxOptions options = new FirefoxOptions();
options.addArguments("--width=1400");
options.addArguments("--height=1000");
-// options.addArguments("--headless");
- System.setProperty("webdriver.gecko.driver","geckodriver.exe");
+ options.addArguments("--headless");
+ System.setProperty("webdriver.gecko.driver","geckodriver");
return new FirefoxDriver(options);
}
}
diff --git a/src/test/java/hWASel5.java b/src/test/java/hWASel5.java
new file mode 100644
index 0000000..c1476b1
--- /dev/null
+++ b/src/test/java/hWASel5.java
@@ -0,0 +1,95 @@
+import org.openqa.selenium.By;
+import org.openqa.selenium.Keys;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.chrome.ChromeDriver;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.StaleElementReferenceException;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.chrome.ChromeDriver;
+import org.openqa.selenium.support.ui.ExpectedConditions;
+import org.openqa.selenium.support.ui.FluentWait;
+import org.openqa.selenium.support.ui.WebDriverWait;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.time.Duration;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+
+
+public class hWASel5 {
+ private WebDriver driver;
+ private WebDriverWait explicitWait;
+ private FluentWait fluentWait;
+
+ @BeforeMethod
+ public void startUp() {
+ System.setProperty("webdriver.chrome.driver", "chromedriver");
+ driver = new ChromeDriver();
+
+ explicitWait = new WebDriverWait(driver, 10);
+ fluentWait = new FluentWait(driver)
+ .withTimeout(Duration.ofSeconds(10))
+ .pollingEvery(Duration.ofMillis(100))
+ .ignoring(Exception.class)
+ .ignoring(StaleElementReferenceException.class);
+
+ driver.get("https://koelapp.testpro.io/");
+
+ }
+
+ @AfterMethod
+ public void tearDown() throws InterruptedException {
+ Thread.sleep(5000);
+ driver.quit();
+ }
+
+ @Test(enabled = true)
+ public void login_CorrectCredentialsFluent_SuccessfulLogin() {
+ var email = driver.findElement(By.xpath("//*[@type='email']"));
+ email.sendKeys("testpro.user02@testpro.io");
+
+ var password = driver.findElement(By.xpath("//*[@type='password']"));
+ password.sendKeys("te$t$tudent02");
+
+ var loginButton = driver.findElement(By.xpath("//*[@type='submit']"));
+ loginButton.click();
+
+ fluentWait.until(x -> x.findElement(By.xpath("//*[@class='home active']")).isDisplayed());
+
+ var homeButton = driver.findElement(By.xpath("//*[@class='home active']"));
+ homeButton.click();
+ }
+
+ @Test(enabled = true)
+ public void login_WrongPasswordFluent_SuccessfulLogin() {
+ var email = driver.findElement(By.xpath("//*[@type='email']"));
+ email.sendKeys("testpro.user02@testpro.io");
+
+ var password = driver.findElement(By.xpath("//*[@type='password']"));
+ password.sendKeys("te$t$tudent02");
+
+ var loginButton = driver.findElement(By.xpath("//*[@type='submit']"));
+ loginButton.click();
+
+
+ fluentWait.until(x->x.findElement(By.className("error")));
+
+ List error = driver.findElements(By.xpath("//*[@class='error']"));
+
+ Assert.assertEquals(error.size(),1);
+ Assert.assertTrue(error.size()==1);
+ Assert.assertEquals(error.size(),1,"custom error message");
+
+ }
+ }
+
+
+
diff --git a/src/test/java/helpers/Data.java b/src/test/java/helpers/Data.java
new file mode 100644
index 0000000..aceb1b7
--- /dev/null
+++ b/src/test/java/helpers/Data.java
@@ -0,0 +1,61 @@
+package helpers;
+
+import com.google.gson.Gson;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
+import models.CreatePlaylistRequest;
+import models.CreatePlaylistResponse;
+import models.DataResponse;
+import models.Playlist;
+import org.testng.Assert;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static io.restassured.RestAssured.given;
+
+public class Data {
+ public static DataResponse getData() {
+ String token = Token.retrieveToken("testpro.user02@testpro.io", "te$t$tudent02");
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization", "Bearer " + token)
+ .basePath("api/data")
+ .when()
+ .get()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ return jsonPath.getObject("$", DataResponse.class);
+ }
+
+ public static CreatePlaylistResponse createPlaylist(String playlistName) {
+ String token = Token.retrieveToken("testpro.user02@testpro.io", "te$t$tudent02");
+ String[] rules = {};
+ var playlist = new CreatePlaylistRequest(playlistName, rules);
+ var requestBody = new Gson().toJson(playlist);
+
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header("Authorization", "Bearer " + token)
+ .basePath("api/playlist")
+ .contentType(ContentType.JSON)
+ .body(requestBody)
+ .when()
+ .post()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ return jsonPath.getObject("$", CreatePlaylistResponse.class);
+
+
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/helpers/DbAdapter.java b/src/test/java/helpers/DbAdapter.java
new file mode 100644
index 0000000..cf42bd5
--- /dev/null
+++ b/src/test/java/helpers/DbAdapter.java
@@ -0,0 +1,102 @@
+package helpers;
+
+import models.Artist;
+import models.Playlist;
+import models.Song;
+
+import java.sql.*;
+import java.util.ArrayList;
+import java.util.List;
+
+public class DbAdapter {
+ static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver";
+ static final String DB_URL = "jdbc:mariadb://koelapp.testpro.io/dbkoel";
+ static final String USER = "dbuser02";
+ static final String PASS = "pa$$02";
+
+ static Connection conn = null;
+ static Statement stmt = null;
+
+ public static List getArtists() throws SQLException {
+ List artists = new ArrayList();
+ try {
+ Class.forName(JDBC_DRIVER);
+ conn = DriverManager.getConnection(DB_URL, USER, PASS);
+ stmt = conn.createStatement();
+
+ String sqlQuery = "SELECT * FROM artists";
+ ResultSet rs = stmt.executeQuery(sqlQuery);
+ while (rs.next()) {
+ String name = rs.getString("name");
+ int id = rs.getInt("id");
+
+ Artist artist = new Artist(id,name);
+ artists.add(artist);
+ }
+ } catch (SQLException | ClassNotFoundException err) {
+ err.printStackTrace();
+ } finally {
+ if (conn != null) {
+ conn.close();
+ }
+ }
+ return artists;
+ }
+
+ public static List getAllPlaylists() throws SQLException {
+ List playlists = new ArrayList();
+ try {
+ Class.forName(JDBC_DRIVER);
+ conn = DriverManager.getConnection(DB_URL, USER, PASS);
+ stmt = conn.createStatement();
+
+ String sqlQuery = "SELECT * FROM playlists";
+ ResultSet rs = stmt.executeQuery(sqlQuery);
+ while (rs.next()) {
+ String name = rs.getString("name");
+ int id = rs.getInt("id");
+
+ Playlist playlist = new Playlist(id,name);
+ playlists.add(playlist);
+ }
+ } catch (SQLException | ClassNotFoundException err) {
+ err.printStackTrace();
+ } finally {
+ if (conn != null) {
+ conn.close();
+ }
+ }
+ return playlists;
+ }
+
+ public static Playlist getPlaylistsById(int id) throws SQLException {
+ Playlist returnedPlaylist = new Playlist();
+ try {
+ Class.forName(JDBC_DRIVER);
+ conn = DriverManager.getConnection(DB_URL, USER, PASS);
+ stmt = conn.createStatement();
+
+ String sqlQuery = "SELECT id, name FROM playlists WHERE id="+id;
+ List pls = new ArrayList<>();
+ ResultSet rs = stmt.executeQuery(sqlQuery);
+ while (rs.next()) {
+ String name = rs.getString("name");
+
+ Playlist playlist = new Playlist(id,name);
+ pls.add(playlist);
+ }
+ if(pls.size()==0){
+ return null;
+ }
+ returnedPlaylist = pls.get(0);
+ } catch (SQLException | ClassNotFoundException err) {
+ err.printStackTrace();
+ } finally {
+ if (conn != null) {
+ conn.close();
+ }
+ }
+ return returnedPlaylist;
+ }
+
+}
diff --git a/src/test/java/helpers/HwDbAdapter.java b/src/test/java/helpers/HwDbAdapter.java
new file mode 100644
index 0000000..3bc0a6d
--- /dev/null
+++ b/src/test/java/helpers/HwDbAdapter.java
@@ -0,0 +1,81 @@
+package helpers;
+
+import models.Playlist;
+import models.Song;
+import models.SongsOfArtist;
+
+import java.sql.*;
+import java.util.ArrayList;
+import java.util.List;
+
+public class HwDbAdapter {
+ static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver";
+ static final String DB_URL = "jdbc:mariadb://koelapp.testpro.io/dbkoel";
+ static final String USER = "dbuser02";
+ static final String PASS = "pa$$02";
+
+ static Connection conn = null;
+ static Statement stmt = null;
+ public static List getAllSongs() throws SQLException {
+ List songs = new ArrayList();
+ try {
+ Class.forName(JDBC_DRIVER);
+ conn = DriverManager.getConnection(DB_URL, USER, PASS);
+ stmt = conn.createStatement();
+
+ String sqlQuery = "SELECT * FROM songs";
+ ResultSet rs = stmt.executeQuery(sqlQuery);
+ while (rs.next()) {
+ String id = rs.getString("id");
+ int album_id=rs.getInt("album_id");
+ int artist_id=rs.getInt("artist_id");
+ String title = rs.getString("title");
+ int track = rs.getInt("track");
+ double length = rs.getDouble("length");
+
+ Song song = new Song(id,album_id,artist_id,title,track,length);
+ songs.add(song);
+ }
+ } catch (SQLException | ClassNotFoundException err) {
+ err.printStackTrace();
+ } finally {
+ if (conn != null) {
+ conn.close();
+ }
+ }
+ return songs;
+ }
+
+ public static SongsOfArtist getListOfSongsByNameOfArtist(String name) throws SQLException {
+ SongsOfArtist returnedListOfSongs = new SongsOfArtist(name);
+ try {
+ Class.forName(JDBC_DRIVER);
+ conn = DriverManager.getConnection(DB_URL, USER, PASS);
+ stmt = conn.createStatement();
+
+ String sqlQuery = "select s.track, s.title,a.name, al.name albums_name,s.length/60 AS length from albums al join artists a on al.artist_id=a.id join songs s on al.artist_id =s.artist_id where a.id = "+name+" group by s.title";
+ List sngs = new ArrayList<>();
+ ResultSet s = stmt.executeQuery(sqlQuery);
+ while (s.next()) {
+ int track = s.getInt("track");
+ String title = s.getString("title");
+ String artist_name = s.getString("name");
+ String albums_name = s.getString("albums_name");
+ double length = s.getDouble("length");
+
+
+
+ SongsOfArtist song = new SongsOfArtist(track,title,name,albums_name,length);
+ sngs.add(song);
+ }
+
+ } catch (SQLException | ClassNotFoundException err) {
+ err.printStackTrace();
+ } finally {
+ if (conn != null) {
+ conn.close();
+ }
+ }
+ return returnedListOfSongs;
+ }
+}
diff --git a/src/test/java/helpers/TestData.java b/src/test/java/helpers/TestData.java
new file mode 100644
index 0000000..e33cbbb
--- /dev/null
+++ b/src/test/java/helpers/TestData.java
@@ -0,0 +1,13 @@
+
+package helpers;
+
+import org.apache.commons.lang3.RandomStringUtils;
+
+public class TestData {
+ public static String randomString(){
+ int length = 10;
+ boolean useLetters = true;
+ boolean useNumbers = false;
+ return RandomStringUtils.random(length, useLetters, useNumbers);
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/helpers/Token.java b/src/test/java/helpers/Token.java
new file mode 100644
index 0000000..cbb507e
--- /dev/null
+++ b/src/test/java/helpers/Token.java
@@ -0,0 +1,35 @@
+package helpers;
+
+import com.google.gson.Gson;
+import io.restassured.http.ContentType;
+import io.restassured.path.json.JsonPath;
+import io.restassured.response.Response;
+import models.TokenRequest;
+import models.TokenResponse;
+
+import static io.restassured.RestAssured.given;
+
+public class Token {
+ public static String retrieveToken(String login, String pwd){
+ String token = "";
+ var credentials = new TokenRequest(login,pwd);
+ var requestBody = new Gson().toJson(credentials);
+
+ Response response = given()
+ .baseUri("https://koelapp.testpro.io/")
+ .basePath("api/me")
+ .contentType(ContentType.JSON)
+ .body(requestBody)
+ .when()
+ .post()
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+
+ JsonPath jsonPath = response.jsonPath();
+ var responseBody = jsonPath.getObject("$", TokenResponse.class);
+ token = responseBody.token;
+ return token;
+ }
+}
diff --git a/src/test/java/models/Albums.java b/src/test/java/models/Albums.java
new file mode 100644
index 0000000..f8c5e7d
--- /dev/null
+++ b/src/test/java/models/Albums.java
@@ -0,0 +1,7 @@
+package models;
+
+public class Albums {
+ public int id;
+ public int artist_id;
+ public String name;
+}
diff --git a/src/test/java/models/Artist.java b/src/test/java/models/Artist.java
new file mode 100644
index 0000000..0d1435a
--- /dev/null
+++ b/src/test/java/models/Artist.java
@@ -0,0 +1,11 @@
+package models;
+
+public class Artist {
+ public int id;
+ public String name;
+
+ public Artist(int id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+}
diff --git a/src/test/java/models/CreatePlaylistRequest.java b/src/test/java/models/CreatePlaylistRequest.java
new file mode 100644
index 0000000..ff41e38
--- /dev/null
+++ b/src/test/java/models/CreatePlaylistRequest.java
@@ -0,0 +1,11 @@
+package models;
+
+public class CreatePlaylistRequest {
+ public String name;
+ public String[] rules;
+
+ public CreatePlaylistRequest(String name, String[] rules) {
+ this.name = name;
+ this.rules = rules;
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/models/CreatePlaylistResponse.java b/src/test/java/models/CreatePlaylistResponse.java
new file mode 100644
index 0000000..06c37ab
--- /dev/null
+++ b/src/test/java/models/CreatePlaylistResponse.java
@@ -0,0 +1,13 @@
+package models;
+
+public class CreatePlaylistResponse {
+ public String name;
+ public int id;
+ public String[] songs;
+
+ public CreatePlaylistResponse(String name, int id, String[] songs) {
+ this.name = name;
+ this.id = id;
+ this.songs = songs;
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/models/CurrentUser.java b/src/test/java/models/CurrentUser.java
new file mode 100644
index 0000000..27907fa
--- /dev/null
+++ b/src/test/java/models/CurrentUser.java
@@ -0,0 +1,9 @@
+package models;
+
+public class CurrentUser {
+ public int id;
+ public String name;
+ public String email;
+ public boolean is_admin;
+ public Preferences[] preferences;
+}
\ No newline at end of file
diff --git a/src/test/java/models/DataResponse.java b/src/test/java/models/DataResponse.java
new file mode 100644
index 0000000..028e0cc
--- /dev/null
+++ b/src/test/java/models/DataResponse.java
@@ -0,0 +1,21 @@
+package models;
+
+public class DataResponse {
+ public Albums[] albums;
+ public boolean allowDownload;
+ public Artist[] artists;
+ public String cdnUrl;
+ public CurrentUser currentUser;
+ public String currentVersion;
+ public Interaction[] interactions;
+ public String latestVersion;
+ public Playlist[] playlists;
+ public String[] recentlyPlayed;
+ public Settings[] settings;
+ public Song[] songs;
+ public boolean supportsTranscoding;
+ public boolean useLastfm;
+ public boolean useYouTube;
+ public boolean useiTunes;
+ public User[] users;
+}
\ No newline at end of file
diff --git a/src/test/java/models/GetBookByIdResponse.java b/src/test/java/models/GetBookByIdResponse.java
new file mode 100644
index 0000000..720406e
--- /dev/null
+++ b/src/test/java/models/GetBookByIdResponse.java
@@ -0,0 +1,17 @@
+package models;
+
+public class GetBookByIdResponse {
+ public int bookId;
+ public String label;
+ public String author;
+ public String genre;
+ public String condition;
+
+ public GetBookByIdResponse(int bookId, String label, String author, String genre, String condition) {
+ this.bookId = bookId;
+ this.label = label;
+ this.author = author;
+ this.genre = genre;
+ this.condition = condition;
+ }
+}
diff --git a/src/test/java/models/Interaction.java b/src/test/java/models/Interaction.java
new file mode 100644
index 0000000..5d12726
--- /dev/null
+++ b/src/test/java/models/Interaction.java
@@ -0,0 +1,7 @@
+package models;
+
+public class Interaction {
+ public String song_id;
+ public boolean liked;
+ public int play_count;
+}
\ No newline at end of file
diff --git a/src/test/java/models/Playlist.java b/src/test/java/models/Playlist.java
new file mode 100644
index 0000000..9b98c54
--- /dev/null
+++ b/src/test/java/models/Playlist.java
@@ -0,0 +1,17 @@
+package models;
+
+public class Playlist {
+ public int id;
+ public String name;
+ public String[] rules;
+ public boolean is_smart;
+
+ public Playlist(int id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public Playlist() {
+
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/models/Preferences.java b/src/test/java/models/Preferences.java
new file mode 100644
index 0000000..d15e832
--- /dev/null
+++ b/src/test/java/models/Preferences.java
@@ -0,0 +1,5 @@
+package models;
+
+public class Preferences {
+ public String lastfm_session_key;
+}
\ No newline at end of file
diff --git a/src/test/java/models/RenamePlayListResponse.java b/src/test/java/models/RenamePlayListResponse.java
new file mode 100644
index 0000000..2777a07
--- /dev/null
+++ b/src/test/java/models/RenamePlayListResponse.java
@@ -0,0 +1,10 @@
+package models;
+
+public class RenamePlayListResponse {
+ public int id;
+ public String name;
+ public RenamePlayListResponse(int id, String name){
+ this.id = id;
+ this.name=name;
+ }
+}
diff --git a/src/test/java/models/RenamePlaylistRequest.java b/src/test/java/models/RenamePlaylistRequest.java
new file mode 100644
index 0000000..0a88e81
--- /dev/null
+++ b/src/test/java/models/RenamePlaylistRequest.java
@@ -0,0 +1,9 @@
+package models;
+
+public class RenamePlaylistRequest {
+ public String name;
+
+ public RenamePlaylistRequest(String name){
+ this.name=name;
+ }
+}
diff --git a/src/test/java/models/Settings.java b/src/test/java/models/Settings.java
new file mode 100644
index 0000000..91107b0
--- /dev/null
+++ b/src/test/java/models/Settings.java
@@ -0,0 +1,5 @@
+package models;
+
+public class Settings {
+ public String media_path;
+}
\ No newline at end of file
diff --git a/src/test/java/models/Song.java b/src/test/java/models/Song.java
new file mode 100644
index 0000000..c729e87
--- /dev/null
+++ b/src/test/java/models/Song.java
@@ -0,0 +1,27 @@
+package models;
+
+
+
+ public class Song {
+ public String id;
+ public int album_id;
+ public int artist_id;
+ public String title;
+ public String created_at;
+ public int disc;
+ public int track;
+ public double length;
+
+ public Song(String id, int album_id, int artist_id, String title, int track, double length) {
+ this.id = id;
+ this.album_id = album_id;
+ this.artist_id = artist_id;
+ this.title = title;
+ this.track = track;
+ this.length = length;
+ }
+ public Song(){
+
+ }
+ }
+
diff --git a/src/test/java/models/SongsOfArtist.java b/src/test/java/models/SongsOfArtist.java
new file mode 100644
index 0000000..de5d9b1
--- /dev/null
+++ b/src/test/java/models/SongsOfArtist.java
@@ -0,0 +1,21 @@
+package models;
+
+public class SongsOfArtist {
+ public int track;
+ public String title;
+ public String name;
+ public String albums_name;
+ public double length;
+
+ public SongsOfArtist(int track, String title, String name, String albums_name, double length) {
+ this.track = track;
+ this.title = title;
+ this.name = name;
+ this.albums_name = albums_name;
+ this.length = length;
+ }
+ public SongsOfArtist(String name){
+ this.name=name;
+
+ }
+}
diff --git a/src/test/java/models/TokenRequest.java b/src/test/java/models/TokenRequest.java
new file mode 100644
index 0000000..98b4446
--- /dev/null
+++ b/src/test/java/models/TokenRequest.java
@@ -0,0 +1,11 @@
+package models;
+
+public class TokenRequest {
+ public String email;
+ public String password;
+
+ public TokenRequest(String email, String password) {
+ this.email = email;
+ this.password = password;
+ }
+}
diff --git a/src/test/java/models/TokenResponse.java b/src/test/java/models/TokenResponse.java
new file mode 100644
index 0000000..fcdc76b
--- /dev/null
+++ b/src/test/java/models/TokenResponse.java
@@ -0,0 +1,7 @@
+package models;
+
+public class TokenResponse {
+ public String token;
+
+ }
+
diff --git a/src/test/java/models/User.java b/src/test/java/models/User.java
new file mode 100644
index 0000000..88995a5
--- /dev/null
+++ b/src/test/java/models/User.java
@@ -0,0 +1,8 @@
+package models;
+
+public class User {
+ public int id;
+ public String name;
+ public String email;
+ public boolean is_admin;
+}
\ No newline at end of file
diff --git a/src/test/java/pageObjects/BasePage.java b/src/test/java/pageObjects/BasePage.java
index 778bef4..d6a0e7a 100644
--- a/src/test/java/pageObjects/BasePage.java
+++ b/src/test/java/pageObjects/BasePage.java
@@ -17,7 +17,7 @@ public class BasePage {
public BasePage(WebDriver driver) {
this.driver = driver;
- explicitWait = new WebDriverWait(driver, 10);
+ explicitWait = new WebDriverWait(driver, 15);
this.fluentWait = new FluentWait(this.driver)
.withTimeout(Duration.ofSeconds(10))
.pollingEvery(Duration.ofMillis(100))
diff --git a/src/test/java/pageObjects/HomePage.java b/src/test/java/pageObjects/HomePage.java
index 68ce8c6..8fa99c5 100644
--- a/src/test/java/pageObjects/HomePage.java
+++ b/src/test/java/pageObjects/HomePage.java
@@ -17,26 +17,31 @@ public boolean isHomepage(){
return true;
}
public WebElement getPlusButton(){
- explicitWait.until(ExpectedConditions.elementToBeClickable(By.cssSelector(HomePageSelectors.plusButtonCssSelector)));
- return driver.findElement(By.cssSelector(HomePageSelectors.plusButtonCssSelector));
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.plusButtonXPath)));
+ return driver.findElement(By.xpath(HomePageSelectors.plusButtonXPath));
}
private WebElement getNewPlaylistNameField(){
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.newPlaylistFieldXpath)));
return driver.findElement(By.xpath(HomePageSelectors.newPlaylistFieldXpath));
}
private String getPlaylistXpath(String name){
return "//a[text()='"+name+"']";
}
- public void createNewPlaylist(String name) {
+
+
+ public String createNewPlaylist(String name) {
getPlusButton().click();
getNewPlaylistNameField().sendKeys(name);
getNewPlaylistNameField().sendKeys(Keys.ENTER);
+ String str = driver.getCurrentUrl();
+ return str.split("/")[5];
}
public boolean isPlaylistCreated(String name){
var list = driver.findElements(By.xpath(getPlaylistXpath(name)));
return list.size()>0;
}
- public void leftHandScrollDown(String name) {
+ public void leftHandScrollDown(String name) {
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement playlist = driver.findElement(By.xpath(getPlaylistXpath(name)));
js.executeScript("arguments[0].scrollIntoView();", playlist);
@@ -54,5 +59,62 @@ public void renamePlayList(String oldName, String newName) {
textField.sendKeys(Keys.CONTROL + "a");
textField.sendKeys(newName);
textField.sendKeys(Keys.ENTER);
+ }
+ public WebElement getAllSongsButton(){
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.allSongsButtonXpath)));
+ return driver.findElement(By.xpath(HomePageSelectors.allSongsButtonXpath));
+
+ }
+ public WebElement getTitleSong(){
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.titleOfSongXpath)));
+ return driver.findElement(By.xpath(HomePageSelectors.titleOfSongXpath));
+ }
+
+ public WebElement getAddToButton(){
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.addToButtonXPath)));
+ return driver.findElement(By.xpath(HomePageSelectors.addToButtonXPath));
+ }
+ public WebElement getCreateNewPlayListFieldXpath()
+ {
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.createNewPlayListFieldXpath)));
+ return driver.findElement(By.xpath(HomePageSelectors.createNewPlayListFieldXpath));
+ }
+ public WebElement getSaveNewPlayListButtonXpath()
+ {
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.saveNewPlayListButtonXpath)));
+ return driver.findElement(By.xpath(HomePageSelectors.saveNewPlayListButtonXpath));
+ }
+
+ public WebElement getDeletePlayListButton()
+ {
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.deletePlayListButtonXpath)));
+ return driver.findElement(By.xpath(HomePageSelectors.deletePlayListButtonXpath));
+ }
+
+ public WebElement getOkForDeletePlayList()
+ {
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.okForDeletePlayListXpath )));
+ return driver.findElement(By.xpath(HomePageSelectors.okForDeletePlayListXpath ));
+ }
+
+ public void createNewPlayListAndAddSongToPlayList(String name){
+ getAllSongsButton().click();
+
+ Actions actions = new Actions(driver);
+ actions.contextClick(getTitleSong()).perform();
+ getAddToButton().click();
+ getCreateNewPlayListFieldXpath().sendKeys(name);
+ getSaveNewPlayListButtonXpath().click();
+
+ }
+ public void deletePlayList(String name){
+ explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(getPlaylistXpath(name) )));
+ var list = driver.findElement(By.xpath(getPlaylistXpath(name)));
+ list.click();
+ getDeletePlayListButton().click();
+ getOkForDeletePlayList().click();
+
+
+
}
}
diff --git a/src/test/java/pageObjects/HomePageSelectors.java b/src/test/java/pageObjects/HomePageSelectors.java
index 0462436..a416574 100644
--- a/src/test/java/pageObjects/HomePageSelectors.java
+++ b/src/test/java/pageObjects/HomePageSelectors.java
@@ -2,6 +2,20 @@
public class HomePageSelectors {
public static final String homeButtonXpath = "//*[@class='home active']";
- public static final String plusButtonCssSelector = ".fa.fa-plus-circle";
- public static final String newPlaylistFieldXpath = "//*[@class='777create']/*";
+
+ public static final String plusButtonXPath = "//*[contains(@class,'create')]";
+
+ public static final String newPlaylistFieldXpath = "//*[@class='create']/*";
+ public static final String allSongsButtonXpath = "//*[@href='#!/songs']";
+ public static final String titleOfSongXpath = "(//*[@class= 'title'])[3]";
+ public static final String addSongToPlayListxpath = "(//*[@class= 'has-sub'])[1]";
+ public static final String addToButtonXPath = "//button[contains(text(),'Add')]";
+ public static final String createNewPlayListFieldXpath = "(//*[@data-v-f7ac59cc and @placeholder= 'Playlist name'])[2]";
+ public static final String saveNewPlayListButtonXpath = "(//*[@data-v-f7ac59cc and @type= 'submit'])[2]";
+ public static final String deletePlayListButtonXpath = "//*[@title='Delete this playlist']";
+ public static final String okForDeletePlayListXpath = "//*[@class='ok']";
+
}
+
+
+
diff --git a/src/test/java/pageObjects/HomePageSelectorsOne.java b/src/test/java/pageObjects/HomePageSelectorsOne.java
new file mode 100644
index 0000000..25eaa96
--- /dev/null
+++ b/src/test/java/pageObjects/HomePageSelectorsOne.java
@@ -0,0 +1,19 @@
+package pageObjects;
+
+public class HomePageSelectorsOne {
+
+
+ public static final String homeButtonXpath = "//*[@class='home active']";
+ public static final String plusButtonXPath = "//*[contains(@class,'create')]";
+
+ public static final String newPlaylistFieldXpath = "//*[@class='create']/*";
+ public static final String allSongsButtonXpath = "//*[@href='#!/songs']";
+ public static final String titleOfSongXpath = "(//*[@class= 'title'])[3]";
+ public static final String addSongToPlayListxpath = "(//*[@class= 'has-sub'])[1]";
+ public static final String addToButtonXPath = "//button[contains(text(),'Add')]";
+ public static final String createNewPlayListFieldXpath = "(//*[@data-v-f7ac59cc and @placeholder= 'Playlist name'])[2]";
+ public static final String saveNewPlayListButtonXpath = "(//*[@data-v-f7ac59cc and @type= 'submit'])[2]";
+ public static final String deletePlayListButtonXpath = "//*[@title='Delete this playlist']";
+ public static final String okForDeletePlayListXpath = "//button[@class='ok']";
+ }
+
diff --git a/src/test/java/pageObjects/LoginPage.java b/src/test/java/pageObjects/LoginPage.java
index 1634d85..6291c52 100644
--- a/src/test/java/pageObjects/LoginPage.java
+++ b/src/test/java/pageObjects/LoginPage.java
@@ -44,4 +44,4 @@ public boolean isError() {
}
return true;
}
-}
+}
\ No newline at end of file
diff --git a/src/test/java/tests/BaseTest.java b/src/test/java/tests/BaseTest.java
index 7059652..a709170 100644
--- a/src/test/java/tests/BaseTest.java
+++ b/src/test/java/tests/BaseTest.java
@@ -7,12 +7,23 @@
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Parameters;
public class BaseTest {
protected WebDriver driver;
+ @Parameters({"browser"})
@BeforeMethod
- public void startUp() throws NoSuchMethodException {
- driver = BrowserFactory.createWebDriver(BrowserType.CHROME);
+ public void startUp(String browserName) throws NoSuchMethodException {
+ BrowserType browser;
+ switch (browserName){
+ case "CHROME": browser=BrowserType.CHROME;
+ break;
+ case "FIREFOX": browser = BrowserType.FIREFOX;
+ break;
+ default: throw new NoSuchMethodException("Browser not defined");
+ }
+
+ driver = BrowserFactory.createWebDriver(browser);
}
@AfterMethod
diff --git a/src/test/java/tests/HomepageTests.java b/src/test/java/tests/HomepageTests.java
index 1d57099..8426f44 100644
--- a/src/test/java/tests/HomepageTests.java
+++ b/src/test/java/tests/HomepageTests.java
@@ -1,24 +1,48 @@
package tests;
+import io.restassured.http.Header;
+import io.restassured.response.Response;
import listeners.RetryAnalyzer;
import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import pageObjects.HomePage;
import pageObjects.LoginPage;
+import static io.restassured.RestAssured.given;
+
+
public class HomepageTests extends BaseTest{
+ private String id;
+
+ @AfterMethod
+ public void tearDown(){
+ Header header = new Header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMwMCwiaXNzIjoiaHR0cHM6Ly9rb2VsYXBwLnRlc3Rwcm8uaW8vYXBpL21lIiwiaWF0IjoxNTg5OTUxNjE3LCJleHAiOjE1OTA1NTY0MTcsIm5iZiI6MTU4OTk1MTYxNywianRpIjoiWVZqMWE2QTJTMnMyY3BraCJ9.rJkzNr4CP-kWTFPMwrIlGmWlu8zE-J44KQEnC0fZcOU");
+ Response response =
+ given()
+ .baseUri("https://koelapp.testpro.io/")
+ .header(header)
+ .when()
+ .delete("api/playlist/"+id)
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+ }
@Parameters({"email","password","playlist"})
@Test(retryAnalyzer = RetryAnalyzer.class)
public void loginTest_createNewPlaylist_newPlaylistCreated(String login, String pwd, String playlist) {
LoginPage loginPage = new LoginPage(driver);
loginPage.openPage();
HomePage homePage = loginPage.login(login,pwd);
- homePage.createNewPlaylist(playlist);
+ id = homePage.createNewPlaylist(playlist);
+ System.out.println(id);
+
Assert.assertTrue(homePage.isPlaylistCreated(playlist));
}
@Parameters({"email","password","playlist", "new-playlist"})
- @Test
+ @Test (retryAnalyzer = RetryAnalyzer.class)
public void scrollDown(String login, String pwd, String playlist, String newPlaylist){
LoginPage loginPage = new LoginPage(driver);
loginPage.openPage();
@@ -29,4 +53,18 @@ public void scrollDown(String login, String pwd, String playlist, String newPlay
Assert.assertTrue(homePage.isPlaylistCreated(newPlaylist));
}
+ @Parameters({"email","password","playlist"})
+ @Test
+ public void addSongToPlayListAndDelitPlayList(String login, String pwd, String playlist){
+ LoginPage loginPage = new LoginPage(driver);
+ loginPage.openPage();
+ HomePage homePage = loginPage.login(login,pwd);
+ homePage.createNewPlayListAndAddSongToPlayList(playlist);
+ Assert.assertTrue(homePage.isPlaylistCreated(playlist));
+ driver.navigate().refresh();
+ homePage.deletePlayList(playlist);
+ driver.navigate().refresh();
+ Assert.assertFalse(homePage.isPlaylistCreated(playlist));
+
+ }
}
diff --git a/src/test/java/tests/HomepageTests_new.java b/src/test/java/tests/HomepageTests_new.java
index 998a796..787a450 100644
--- a/src/test/java/tests/HomepageTests_new.java
+++ b/src/test/java/tests/HomepageTests_new.java
@@ -1,12 +1,13 @@
package tests;
+import listeners.RetryAnalyzer;
import org.testng.Assert;
import org.testng.annotations.Test;
import pageObjects.HomePage;
import pageObjects.LoginPage;
public class HomepageTests_new extends BaseTest{
- @Test
+ @Test (retryAnalyzer = RetryAnalyzer.class)
public void new_loginTest_createNewPlaylist_newPlaylistCreated() {
LoginPage loginPage = new LoginPage(driver);
loginPage.openPage();
@@ -14,7 +15,7 @@ public void new_loginTest_createNewPlaylist_newPlaylistCreated() {
homePage.createNewPlaylist("HeyYoPlaylist");
Assert.assertTrue(homePage.isPlaylistCreated("HeyYoPlaylist"));
}
- @Test
+ @Test (retryAnalyzer = RetryAnalyzer.class)
public void new_scrollDown(){
LoginPage loginPage = new LoginPage(driver);
loginPage.openPage();
@@ -25,4 +26,17 @@ public void new_scrollDown(){
Assert.assertTrue(homePage.isPlaylistCreated("newName"));
}
+ @Test
+ public void new_addSongToPlayListAndDelitPlayList(){
+ LoginPage loginPage = new LoginPage(driver);
+ loginPage.openPage();
+ HomePage homePage = loginPage.login("testpro.user02@testpro.io","te$t$tudent02");
+ homePage.createNewPlayListAndAddSongToPlayList("anna");
+ Assert.assertTrue(homePage.isPlaylistCreated("anna"));
+ driver.navigate().refresh();
+ homePage.deletePlayList("anna");
+ driver.navigate().refresh();
+ Assert.assertFalse(homePage.isPlaylistCreated("anna"));
+
+ }
}
diff --git a/src/test/java/tests/LoginTests.java b/src/test/java/tests/LoginTests.java
index 95fe41c..e1194ba 100644
--- a/src/test/java/tests/LoginTests.java
+++ b/src/test/java/tests/LoginTests.java
@@ -29,6 +29,7 @@ public void loginTest_incorrectCredentials_notLoggedToApp(String login, String p
}
@Test (retryAnalyzer = RetryAnalyzer.class, enabled = false)
public void test_Fails(){
+
Assert.assertTrue(false);
}
@DataProvider(name = "Summing")
@@ -60,4 +61,30 @@ public void test_StringSum(String a, String b, String c){
String xx = a + b;
Assert.assertEquals(xx,c);
}
+ @DataProvider (name="Air_Tikets_price")
+ public Object[][] createData3() {
+ return new Object[][]{
+
+ {1, 100, 0},
+ {4, 100, 50},
+ {18, 100, 100},
+ {68, 100, 75}
+ };
+ }
+ @Test (dataProvider = "Air_Tikets_price")
+ public void test_Ait_Ticket_Price(int age, int price, int finalPrice) {
+ int finalPriceOne=0;
+ if (age < 2) {
+ finalPriceOne = price * 0;
+ } else if (age >= 2 && age <= 10) {
+ finalPriceOne = price / 2;
+ } else if (age > 10 && age < 65) {
+ finalPriceOne = price;
+ } else if (age >= 65) {
+ finalPriceOne = price * 3 / 4;
+ }
+
+
+ Assert.assertEquals(finalPrice,finalPriceOne);
+ }
}
diff --git a/src/test/java/tests/PetstoreApiTests.java b/src/test/java/tests/PetstoreApiTests.java
new file mode 100644
index 0000000..cc40106
--- /dev/null
+++ b/src/test/java/tests/PetstoreApiTests.java
@@ -0,0 +1,25 @@
+package tests;
+
+
+import io.restassured.response.Response;
+import org.testng.annotations.Test;
+import static io.restassured.RestAssured.*;
+
+public class PetstoreApiTests {
+ @Test
+ public void getPetById(){
+ Response response =
+ given()
+ .baseUri("https://petstore.swagger.io/")
+ .when()
+ .get("v2/pet/111")
+ .then()
+ .statusCode(200)
+ .extract()
+ .response();
+// Response response = get("https://petstore.swagger.io/v2/pet/111")
+// .thenReturn();
+ var jsonPath = response.jsonPath();
+ System.out.println(jsonPath.prettify());
+ }
+}
\ No newline at end of file
diff --git a/testng.xml b/testngChrome.xml
similarity index 82%
rename from testng.xml
rename to testngChrome.xml
index b98953c..17d7e93 100644
--- a/testng.xml
+++ b/testngChrome.xml
@@ -8,21 +8,24 @@
-
-
-
+
+
+
+
+
+
diff --git a/testngFirefox.xml b/testngFirefox.xml
new file mode 100644
index 0000000..9868ceb
--- /dev/null
+++ b/testngFirefox.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file